0
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 中的域”。请帮我解决这个问题

4

6 回答 6

2

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

于 2012-11-22T10:36:39.250 回答
2
<input type="text" name="domain" id="domain" value="<?php echo isset($domain) ? $domain : ''; ?>" />
于 2012-11-22T10:39:09.200 回答
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?>" />
于 2012-11-22T10:37:50.870 回答
1

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

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

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

<input type="text" name="domain" id="domain" value="<?php echo htmlspecialchars($domain); ?>" />
于 2012-11-22T10:38:10.120 回答
1

在值字段中:

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

没有测试它。但我认为它应该工作。

于 2012-11-22T10:43:41.987 回答
1

在输入标签中添加 php 值,如 value="" 这样如果变量已发布,它将回显,否则将显示空值

于 2012-11-22T11:11:29.733 回答