我目前正在创建一个注册页面并检查错误。我有错误工作正确,但当我报告他们,他们最终在一个新的页面。我想知道我如何得到它不重定向到不同的页面?
我回显出一个div,我认为会出现在表单旁边,但这并没有发生。下面是我的表单和错误验证:
<form action="signup.php" method="post">
<input type="text" name="First_name" placeholder="First Name" />
<input type="text" name="Last_name" placeholder="Last Name" />
<input type="text" name="Email" placeholder="Email Address" />
<input type="text" name="Email2" placeholder="Comfirm Email Address" />
<input type="password" name="Password" placeholder="Password" />
<input type="submit" value="Submit" name="submit"/>
</form>
这是我php文件的一部分。
if (isset($_POST['submit'])) {
$error = array();
$firstname=$_POST['First_name'];
$lastname=$_POST['Last_name'];
$email=$_POST['Email'];
$email2=$_POST['Email2'];
$password=$_POST['Password'];
if (strlen($password) <= 6 and strlen($password) >= 1) {
if (strlen($password) >= 20) {
if (strlen($email) >= 1 and strlen($email) <= 55) {
if ($email == $email2) {
if (ereg('^[a-zA-Z0-9'-'.]+@[a-zA-Z0-9'-]+'.[a-zA-Z0-9'-'.]+$', $email)) {
$sql = "INSERT INTO Users (First_Name, Last_Name, Email, Password) VALUES ('$firstname','$lastname','$email','$password')";
echo "Regiration Complete. Check Email for Validation.";
exit;
} else {
$error[] = 'Email is wrong';
}
} else {
$error[] = 'Email addresses are not the same';
}
} else {
$error[] = 'Email Address is too long';
}
} else {
$error[] = 'Password is too long';
}
} else {
$error[] = 'Password must be 6 Characters';
}
}
echo '<div class="errormsgbox"> <ol>';
foreach ($error as $key => $values) {
echo ' <li>'.$values.'</li>';
}
echo '</ol></div>';
如果您想在同一页面上包含表单,那么您需要将其包含在您的主注册。php文件中,如下所示;
<!--your html form goes here-->
<?php
//all php code goes in here
?>
. PHP文件中PHP开始和结束标记之外的任何内容都将被视为HTML标记。
你可以使用HTML5来验证这些数据没有PHP -所以表单甚至不会被发送,如果它违反你的标准。
你可以在这里阅读更多信息:
http://www.the-art-of-web.com/html/html5-form-validation/对于你的问题:
加载另一个页面。这意味着,如果希望在那里显示表单,就必须在那里也包含表单。
我建议你看看这个插件:http://rickharrison.github.io/validate.js/
的其他方式与简单的jquery或js它可能没有页面加载新的。
但是你必须通过php进行第二次检查,因为人们可以很容易地操作客户端js代码…祝你好运:)
edit1:如果您想要优雅的方式(ajax也是客户端…),您可以始终使用ajax在PHP中发送和验证数据:)
阅读和学习