我看不出爲什麼變量$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