我看不出为什么变量$errorMessage
不会设置数组错误。PHP不会显示我的表单验证错误消息
我正在尝试进行表单验证。此PHP全部位于页面顶部register.php
这是我正在尝试工作的页面。我希望我能解决这个问题!
<?php
session_start();
// include("includes/connect.php");
include ("includes/html.php");
if (isset($_POST['submit'])){
$error = array();
//username
if (empty($_POST['username'])){
$error[] = 'Please Enter a Username';
}
else if (ctype_alnum ($_POST['username'])){
$userName = $_POST['username'];
}
else {
$error[] = 'Username Must Consist Letters and Numbers Only';
}
//email
if (empty($_POST['email'])){
$error[] = 'Please Enter an Email';
}
else if (!preg_mach ("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)
↪*(\.[a-z]{2,3})$",$_POST['email'])) {
$email = mysql_real_escape_string ($_POST['username']);
}
else {
$error[] = 'Your Email Address is Invalid';
}
//password
if (empty($_POST['password'])){
$error[] = 'Please Enter a password';
}
else if ($_POST['password']!==$_POST['password2']){
$error[] = 'Your Password Did Not Match';
}
else {
$password = mysql_real_escape_string($_post['password']);
}
}
if (empty ($error)){
//good info
}
else {
$errorMessage = '<span class="error">';
foreach ($error as $key => $e){
$errorMessage.= "$e";
}
$errorMessage.= '</span> <br /><br />';
}
?>
不是一个答案,但是这是一个相当[弱电子邮件验证(http://php.net/manual/en/ function.filter-var.php)。 – PeeHaa
你在哪里打印'$ errorMessage'变量? – shadyyx
无论如何,你可以用一个更漂亮的方式做到这一点:'$ errorMessage =''。 implode('
',$ error)。 '
'; echo $ errorMessage;'。 – shadyyx