변수 $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