【发布时间】:2015-10-26 16:33:00
【问题描述】:
我目前正在为网站制作注册/验证脚本,偶然发现了一个问题。
我正在使用所有 PHP 来验证并使用 if 语句来回显错误数组。
我的问题是:刷新后如何将用户的输入值保留在表单中?我必须学习 AJAX 吗?
- 注意:我关注的文件是
register.php,它将数据发送到同一页面(action = "")。而form_handle.php是包含在register.php最顶部/开头的实际验证脚本
form_handle.phpCODE:
$errors = array();
if( empty($safe_fname) ||
empty($safe_lname) ||
empty($safe_email) ||
empty($safe_email_again) ||
empty($safe_password) )
{
$errors = '<p>One or more fields left empty';
}
elseif( strlen($safe_password) < 6)
{
$errors = '<p>Password must be atleast 6 charcters long.</p>';
}
elseif($safe_email != $safe_email_again)
{
$errors = '<p>E-mails do not match.</p>';
}
The form代码:
<h2>Sign up Today!</h2>
<form method="post" action="">
<span class="p" id="p1"></span><br/>
<input name="first_name" id="first" class="register_form cap" type="text" placeholder="First Name" />
<br/><span class="p" id="p2"></span><br/>
<input name="last_name" id="second" class="register_form cap" type="text" placeholder="Last Name" />
<br/><span class="p" id="p3"></span><br/>
<input name="email" id="third" class="register_form" type="text" placeholder="E-mail" />
<br/><span class="p" id="p4"></span><br/>
<input name="email_again" id="fourth" class="register_form" type="text" placeholder="Re-enter E-mail" />
<br/><span class="p" id="p5"></span><br/>
<input name="password" type="password" class="register_form" placeholder="Password" />
<br/><span class="p" id="p1"></span><br/>
<input name="submit" id="fifth" class="register_form" type="submit" value="Create!" />
</form>
</div>
【问题讨论】:
-
在您的 HTML 中使用
value="<?php echo $_POST['first_name']; ?>"? -
记得使用isset,否则表单未提交时会得到未定义的索引
-
遇到了这个错误。
标签: php html validation