在以php格式提交之前出现错误

时间:2012-10-07 10:06:23

标签: php forms

我有以下代码,但不幸的是,在点击提交之前,一旦页面加载就会出现$ error。我做错了什么?

(filename = form.php)

<?php
$error="";
if (isset($_POST['submit']) && $_POST['submit'] == "Submit") {  

$name = $_POST['name'];
$email = $_POST['email'];

if($name=="" || $email==""){
$error .= "Error: all fields are required";
}
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", 
$email)) {
$error .= "<br/> Error: Invalid email address";
}

if (isset($error) && ($error!=="")) {
    echo $error;
}
elseif (empty($error)){
    // this works no need to write here... send form.
    }
    }

echo<<<_END
<html><head><body>
<form method='post' action='form.php'>
<p>Name</p> <input type="text" name="name" value='$name'>
<p>Email</p> <input type="text" name="email" value='$email'>
<input type="submit" name="submit" value="Submit">
<input type="reset" name="reset" value="Clear">
</form>
</body>
</html>
_END;
?>

2 个答案:

答案 0 :(得分:1)

if (isset($error) && (!$error=="")) {
echo $error;

}

如果设置了$ error并且$ error等于没有echo $ error? 当你在第一行中将它初始化为“”并且它等于“”

时,会设置$ error

注意到了!在if的第二部分。做我下面的人说的话。

答案 1 :(得分:0)

(!$error==""))替换为($error!==""))