PHP验证重置表单字段

时间:2012-11-22 10:33:54

标签: php

if(isset($_POST['submit'])){

$domain=$_POST['domain'];
$fname=$_POST['fname'];
$sname=$_POST['sname'];
$tel=$_POST['tel'];
if($domain==""){
    $error="<h4>Enter Domain </h4>";    
}elseif($fname == ""){
    $error="<h4>Enter Firstname </h4>"; 
}elseif($sname == "")
{
    $error="<h4 >Enter Surname</h4>";   
}elseif($tel=="")
{
    $error="<h4 >Enter telephono no</h4>";  
}
else {

$sql11=mysql_query("INSERT INTO domain VALUES('','$domain','$fname','$sname','$tel','$mobile','$email','$company','$address','$city','$country','$pcode','$tele',
'$fax','$qus','$ans')");
echo $sql;
$db->query($sql);

    }
    }
<div><?php echo $error; ?></div>
<form action="" method="post" name="classic_form" id="classic_form">
<div><h4>Personal details:</h4></div><div style="margin-left: 109px;">
          <div>Domain</div>
    <input type="text" name="domain" id="domain" value="" />
    <div>First name: </div>
    <input type="text" name="fname" id="fname" value="" />
    <div>Surname:</div>
     <input type="text" name="sname" id="sname" value="" />
     <div>Telephone:</div>
    <input type="text" name="tel" id="tel" value="" />
    <div>Mobile:</div>
    </form>

在我的注册页面中,我使用了php验证。在用户提交表单后,如果它显示验证错误,它也会重置所有字段。我该如何解决这个问题?没有重置字段我必须显示PHP验证错误。我也在每个输入值中使用。但它表明     “注意:未定义的索引:第82行的D:\ xampp \ htdocs \ deena \ domainreg.php中的域”。请帮我解决这个问题

6 个答案:

答案 0 :(得分:2)

您必须将所有值传递给php,然后发送回html来提供字段。

答案 1 :(得分:2)

<input type="text" name="domain" id="domain" value="<?php echo isset($domain) ? $domain : ''; ?>" />

答案 2 :(得分:1)

它不是'重置您的字段'..您的表单正在提交,因此页面正在重置,因此字段正在加载为空。在页面加载时将$_POST[]值放在字段值中:

<input type="text" name="domain" id="domain" value="<?php echo $domain ?>" />
<div>First name: </div>
<input type="text" name="fname" id="fname" value="<?php echo $fname?>" />
<div>Surname:</div>
 <input type="text" name="sname" id="sname" value="<?php echo $sname?>" />
 <div>Telephone:</div>
<input type="text" name="tel" id="tel" value="<?php echo $tel?>" />

答案 3 :(得分:1)

简单。只需将变量添加到输入值:

<input type="text" name="domain" id="domain" value="<?php echo $domain; ?>" />

您还应该保护输出的值,以防止跨站点脚本:

<input type="text" name="domain" id="domain" value="<?php echo htmlspecialchars($domain); ?>" />

答案 4 :(得分:1)

在值字段中:

<input type="text" name="domain" id="domain" 
    value="<?php if(isset($_POST['domain'])){echo $_POST['domain'];} ?>">

没试过。但我认为它应该有效。

答案 5 :(得分:1)

在输入标记中添加php值就像value =“”这样,如果变量被发布或者显示空变量,它将回显