我正在写一份订阅时事通讯的问题。问题是,当有人点击提交时,我似乎没有收到任何错误,或者实际上没有任何错误,所有发生的情况是它们都会显示一个空白的白页,仅此而且很难诊断。
基本上,政策提醒表单上有一个名为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());
}
?>
编辑&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
如果删除真正的转义字符串,我会收到错误
Unknown column 'email' in 'field list'
在点击提交时,这可能解释了白页,上述错误意味着什么?。
编辑2&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
这是我尝试连接到的数据库中的示例记录:
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
答案 0 :(得分: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查询。