我有一个简单的表单,我试图阻止两次输入相同的电子邮件,这是有效的电子邮件。我可以正常使用,但是现在将站点转移到了新服务器,现在它停止了工作。

我是否需要更改或寻找新服务器上的某些配置才能使其正常工作?

这是我的代码:

if(isset($_POST['submit'])) {
    $em = trim($_POST['email']);
    $sql = mysql_query("SELECT email FROM survey_email WHERE email='".mysql_real_escape_string($_POST['email'])."'") or die(mysql_error());
    $check = mysql_fetch_assoc($sql);

    if($em === '' || !preg_match('/^.{1,62}@.{1,62}\.[a-zA-Z]{2,4}$/', $em) || $check > 0){
        $error = "Please enter a valid email";
    }else{
        $success = true;
        mysql_query("INSERT INTO survey_email
            (email) VALUES('".$_POST['email']."' ) ")
            or die(mysql_error());
        header('Location: /survey-email-confirm.php');
    }
}

最佳答案

我认为你应该改变

if($em === '' || !preg_match('/^.{1,62}@.{1,62}\.[a-zA-Z]{2,4}$/', $em) || $check > 0){




if($em === '' || !preg_match('/^.{1,62}@.{1,62}\.[a-zA-Z]{2,4}$/', $em) || $check){


因为$ check的值不是数字。

关于php - 新的服务器设置使重复的电子邮件脚本无法运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19166248/

10-14 15:56