为什么我一直在我的脚本标签中获取未定义的变量:errorEmpty和errorEmail?

时间:2017-05-13 10:33:13

标签: javascript php jquery

为什么我一直在我的脚本标签中获取未定义的变量:errorEmpty和errorEmail?

我试图使用ajax验证注册表单。但是我一直在得到一个未定义的变量错误:

var errorEmpty = "<?php echo $errorEmpty; ?>";
var errorEmail = "<?php echo $errorEmpty; ?>"; 

任何建议都将非常感谢。谢谢。

<?php  
session_start();
include '../dbh.php';


if (isset($_POST['submit'])) {
    {$first = $_POST['first'];
    $last = $_POST['last'];
    $email = $_POST['email'];
    $pwd = $_POST['pwd'];

    $errorEmpty == false;
    $errorEmail == false;


if (empty($first) || empty($last) || empty($email) || empty($pwd)) {
 echo "<span class='form-error'>Please fill out all fields!</span>";
 $errorEmpty == true;
}

elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
 echo "<span class='form-error'>Please enter a valid email address!</span>";
 $errorEmail == true;
} 


else {$sql = "SELECT email FROM user WHERE email='$email'";
$result = mysqli_query($conn, $sql);
$emailcheck = mysqli_num_rows($result);
}

if ($emailcheck > 0) {
 echo "Email address already exists";
 header("Location: ../index.php?error=email");
 exit();
}


else {
 $encryptpwd = password_hash($pwd, PASSWORD_DEFAULT);
 $sql = "INSERT INTO user (first, last, email, pwd)
 VALUES ('$first', '$last', '$email', '$encryptpwd')";
 $result = mysqli_query($conn, $sql);header("Location: ../profile.php");

    }

}

} 


?>


<script> 
$("#signup-first, #signup-last, #signup-email, #signup-pwd").removeClass ("input-error"); 

    var errorEmpty = "<?php echo $errorEmpty; ?>";
    var errorEmail = "<?php echo $errorEmpty; ?>"; 

 if (errorEmpty == true) {
  $("#signup-first, #signup-last, #signup-email, #signup-pwd").addClass("input-error");
 }

 if (errorEmail == true) {
  $("#signup-email").addClass("input-error");
 } 

 if (errorEmpty == false && errorEmail == false) {
  $("#signup-first, #signup-last, #signup-email, #signup-pwd").val("");
}

 </script>

2 个答案:

答案 0 :(得分:0)

在此

上方的页面顶部定义$errorEmpty$errorEmail
if (isset($_POST['submit'])) {

}

答案 1 :(得分:0)

==是比较运算符。要为任何变量赋值,只需使用单=

即可
<?php  
session_start();
include '../dbh.php';


if (isset($_POST['submit'])) {
    {$first = $_POST['first'];
    $last = $_POST['last'];
    $email = $_POST['email'];
    $pwd = $_POST['pwd'];

    $errorEmpty = false;
    $errorEmail = false;


if (empty($first) || empty($last) || empty($email) || empty($pwd)) {
 echo "<span class='form-error'>Please fill out all fields!</span>";
 $errorEmpty = true;
}

elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
 echo "<span class='form-error'>Please enter a valid email address!</span>";
 $errorEmail = true;
} 


else {$sql = "SELECT email FROM user WHERE email='$email'";
$result = mysqli_query($conn, $sql);
$emailcheck = mysqli_num_rows($result);
}

if ($emailcheck > 0) {
 echo "Email address already exists";
 header("Location: ../index.php?error=email");
 exit();
}