我想用电子邮件验证表单。我不知道我的代码是否好。我不知道该把所有的东西放在一起做点什么,也许用嵌套if。我想这样做:1) 如果用户名、密码或地址为空,则为每一个都返回一个它是否有效以及其他无效的回波2) 当电子邮件地址拼写错误时,发出一个回复,如果正确,则发出另一个回复。3) 如果电子邮件地址为空,则返回一个响应,如果为假,则返回另一个响应4) 与用户相同,密码分别为空,两个回声一个为真,另一个为假。请帮忙!
<html>
<head></head>
<body>
<form action ="form_testare1.php" method = "POST">
User:<input type="text" name = "user" />
<br/>
password:<input type = "password" name = "password" />
<br/>
Email:<input type = "text" name = "email" />
<br/>
<input type = "submit" name = "submit" value ="submit"/>
</form>
<?php
$password = $_POST['password'];
$user = $_POST['user'];
$email = $_POST['email'];
if(isset($_POST['user']) && ($_POST['password']) && ($_POST['email']))
{
echo "user , password and email are set<br/>";
}
else
{
echo "user:$user password:$password or email:$email not set<br/>";
}
if(strlen($password)>0 && strlen($user)>0 && strlen($email)>0){
echo "User: $user<br/>";
echo "Password: $password<br/>";
echo "Email: $email<br/>";
}
else
{
echo "user:$user password:$password or email:$email are empty<br/>";
}
if(filter_var($email,FILTER_VALIDATE_EMAIL))
{
echo "emailul is valid";
}
else
{
echo "emailul is not valid<br/>";
}
?>
</body>
</html>
简而言之,您可以将输入命名为data[name]
、data[email]
。。。像这样检查
foreach($_POST['data'] as $key=>$value){
if($key == 'email'){
if(!empty($value) && preg_match("/^(.*)@(.*)'.(.*)$/",$value)){
echo 'email is valid';
}else{
echo 'email is invalid';
}
}else{
echo !empty($value)?"$key is correct":"$key is incorrect";
}
}
在您必须更正之前
if(isset($_POST['user']) && isset($_POST['password']) && isset($_POST['email']))
这样重命名?
<form action ="form_testare1.php" method = "POST">
User:<input type="text" name = data['user'] />
<br/>
password:<input type = "password" name = data['password'] />
<br/>
Email:<input type = "text" name = data['email'] />
<br/>
<input type = "submit" name = "submit" value ="submit"/>
</form>