-2

我在撰写时事通讯订阅时遇到问题。问题是当有人单击提交时,我似乎没有收到任何错误,或者实际上根本没有任何错误,所发生的只是他们呈现一个空白的白页,仅此而已,因此很难诊断。

基本上,政策提醒表单上有一个名为 newslettersubscribe 的字段,如果这等于是,则用户还订阅了新闻通讯列表以及他们正在注册的政策提醒列表。我不是 100% 确定我是否正确使用了 real_escape_string 函数?

<?php
$email = real_escape_string($_POST['email']);
$name = real_escape_string($_POST['name']);
$newslettersubscribe = real_escape_string($_POST['newslettersubscribe']);
if ($newslettersubscribe == 'no'){
}
else{
mysql_query("INSERT INTO ymeg_chronoforms_data_NewsletterDesigner (email, name)
VALUES ('$email', '$name')") or die(mysql_error());
}
?>

编辑>>>>>>>>>>>>>>>>>>>>

如果我删除真正的转义字符串,我会收到错误

Unknown column 'email' in 'field list'

点击提交时,这可能解释了白页,上述错误是什么意思?

编辑 2 >>>>>>>>>>>>>>>>>

这是我试图连接到的数据库中的示例记录:

cf_id   6
cf_uid  5f04f21f80a596f17341cec92a48b197
cf_created  2012-06-01 10:13:16
cf_modified     
cf_ipaddress    217.154.186.84
cf_user_id  44
name    Iain Simpson
email   test@1testdsdsfswqewed.csdom
4

1 回答 1

1

尝试回显值以确保它不是简单地默认为的问题

$newslettersubscribe = 'no';

你需要做一些简单的事情,如下所示:

$email = real_escape_string($_POST['email']);
$name = real_escape_string($_POST['name']);
$newslettersubscribe = real_escape_string($_POST['newslettersubscribe']);

echo $email.' | '.$name.' | '.$newslettersubscribe;
exit();

这至少应该向您展示所需变量的值。这一切都是为了简单地解决即将发生的问题,以及它如何影响您的 sql 查询。

于 2012-06-01T14:13:19.977 回答