2013-03-12 69 views
0

我不確定這是否曾經被問過,在這裏我去。 我有一個表格<input name="name" value=<?php echo $myName; ?>表單輸入名稱,兩個值

我遇到的問題是:

  1. 我在數據庫中檢查,如果用戶存在,如果是的話這裏是我做的:

    $ MYNAME = $ DB->字段[ '名稱'];

故有此名送過來outputed:<input name="name" value=<?php echo $myName; ?>,

然而,當我提出我的表,我也對其進行驗證,因此,如果:

original name in db was: John, 



new name after form submit is: John Adam. 

但由於我outputing $ MYNAME,到形式,它壓倒了它? 如何使用相同的變量名稱回顯到輸入?在這種情況下$ myName,下面這個沒有做到!

if($db->recordCount>0) 
{ 
$myName=$db->fields['name']; 
} 
else 
{ 
$myName=$_POST['name']; 
} 
<input name="name" value="<?php echo $myName; ?>"> 
+0

您應該在數據庫查找之前進行驗證。 – Barmar 2013-03-12 15:54:28

+0

好的如何保持表單值,即使在驗證提交給數據庫後? – NULL 2013-03-12 15:56:20

+0

當你想訪問表單輸入值時,只需使用'$ _POST'。 – Barmar 2013-03-12 15:56:59

回答

0

您能轉換if語句的順序嗎?

$myName = ''; 
if (isset($_POST['name']) { 
    $myName = $_POST['name']; 
} else { 
    $myName = $db->fields['name']; 
} 
... 
<input name="name" value="<?php echo $myName; ?>"> 

如果沒有看到代碼的整體結構,看看邏輯出錯的地方,很難更好地回答。

+0

呵呵,我只是這樣做了,並且會對它發表評論:-)感謝Barmar! – NULL 2013-03-12 16:08:02