2013-03-12 65 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

相关问题