我有一个简单的表单,我试图阻止两次输入相同的电子邮件,这是有效的电子邮件。我可以正常使用,但是现在将站点转移到了新服务器,现在它停止了工作。
我是否需要更改或寻找新服务器上的某些配置才能使其正常工作?
这是我的代码:
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/