[英]PHP validation not running at specific position
<?php
include 'header.inc.php ';
?>
<?php
$firstNameError = '';
$emailError='';
$lastNameError='';
$passwordError1='';
$passwordError2='';
?>
<?php
if(isset($_POST['submit']))
{
$firstName = ($_POST["firstname"]);
if (empty($firstName))
{
$firstNameError = "<span style='color: red';> Name is required </span>";
//echo $nameError;
}
//else
//{
// echo "success!";
//}
$lastName = ($_POST["lastname"]);
if (empty($lastName))
{
$lastNameError = "<span style='color: red';> Last Name is required </span>";
//echo $nameError;
}
$email = ($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$emailError = "<span style='color: red';> Proper Email account is required </span>";
//echo $nameError;
}
$password1=($_POST["password1"]);
if(mb_strlen($password1) <8 || preg_match('/[^0-9A-Za-z]/', $password1)) // [^] sign means complement of all those number and alpha, so if password match with something not alpha or number enter the if condition
{
$passwordError1= "<span style='color: red';> ONLY CAN USE ALPHABETS OR NUMBERS AND MINIMUM LENGTH Of 8 CHARACTERS </span>";
}
$password2=($_POST["password2"]);
if ($password2 !== $password1)
{
$passwordError2="<span style='color: red';> Mismatching passwords! </span>";
}
}
?>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/newcss.css" rel="stylesheet" type="text/css">
<script src="register.js"></script>
</head>
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-sm-4">
<div class="pull-left square">
<p> Account </p>
<p> Login </p>
<p> Register </p>
<p> Recover Password </p>
</div>
</div>
<div class="col-sm-8">
<div class="">
<h3> Register Account</h3>
<p> If you already have an account with us, please login at the login page </p>
<form action= "register.php" method="post" id="test" onsubmit="return checks()" >
<label>First name:</label> <input type="text" id="name" name="firstname" title="enter your name" value="<?php echo isset($_POST["firstname"]) ? $_POST["firstname"] : ''; ?>"> <?php echo $firstNameError ?>
<br>
<label>Last Name:</label> <input name="lastname" id="lastname" type="text" > <?php echo $lastNameError ?>
<br>
<label>Email:</label> <input name="email" id="email" type="text" > <?php echo $emailError ?>
<br>
<label>Password:</label> <input type="password" name="password1" id="pass1" title="8 characters minimum"> <?php echo $passwordError1 ?>
<br>
<label>Password Confirm:</label> <input type="password" name="password2" id="pass2" title="passwords dont match"><?php echo $passwordError2 ?>
<br>
<label class="align">
<input type="checkbox" checked="checked" name="remember" required> Remember me
</label>
<br>
<input class="align" id="submit" name = "submit" type="submit" value="submit">
</form>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
<!--<script src="js/bootstrap.min.js"></script>-->
<!--<script src="register.js"></script>-->
<?php
include 'footer.inc.php ';
?>
此处附加的代码按原样运行良好,但是当我尝试移动PHP验证代码时,主要是从is_set($ _ post [submit])移至HTML文档底部的页脚php文件所在的区域上方包括验证不再运行。 请向我解释为什么会这样吗?
我不知道这是否是您的意思。 ..在您的情况下,我会将所有错误堆叠在一起,如果有任何错误停止,请执行其他操作:
$erors='';
if(isset($_POST['submit'])){
$firstName = ($_POST["firstname"]);
if (empty($firstName)){
$erors .= "<span style='color: red';> Name is required </span>";
}
$lastName = ($_POST["lastname"]);
if (empty($lastName)){
$erors . = "<span style='color: red';> Last Name is required </span>";
}
$email = ($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)){
$erors . = "<span style='color: red';> Proper Email account is required </span>";
}
$password1=($_POST["password1"]);
if(mb_strlen($password1) <8 || preg_match('/[^0-9A-Za-z]/', $password1)){
$erors .= "<span style='color: red';> ONLY CAN USE ALPHABETS OR NUMBERS AND MINIMUM LENGTH Of 8 CHARACTERS </span>";
}
$password2=($_POST["password2"]);
if ($password2 !== $password1){
$erors .="<span style='color: red';> Mismatching passwords! </span>";
}
if($erors){
echo $erors;
} else{
//do stuff
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.