Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 新闻稿订阅无错误_Php_Mysql_Function_Mysql Real Escape String - Fatal编程技术网

Php 新闻稿订阅无错误

Php 新闻稿订阅无错误,php,mysql,function,mysql-real-escape-string,Php,Mysql,Function,Mysql Real Escape String,我在订阅时事通讯时遇到问题。问题是当有人点击submit时,我似乎没有收到任何错误,事实上也没有收到任何错误,所发生的只是他们看到的是一个空白的白色页面,其他什么都没有,所以很难诊断 基本上,策略提醒表单上有一个名为“新闻稿订阅”的字段,如果该字段等于“是”,则用户还将订阅新闻稿列表以及他们正在注册的策略提醒列表。但我不能100%确定我是否正确使用了真正的_escape _字符串函数 <?php $email = real_escape_string($_POST['email']); $

我在订阅时事通讯时遇到问题。问题是当有人点击submit时,我似乎没有收到任何错误,事实上也没有收到任何错误,所发生的只是他们看到的是一个空白的白色页面,其他什么都没有,所以很难诊断

基本上,策略提醒表单上有一个名为“新闻稿订阅”的字段,如果该字段等于“是”,则用户还将订阅新闻稿列表以及他们正在注册的策略提醒列表。但我不能100%确定我是否正确使用了真正的_escape _字符串函数

<?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());
}
?>
当点击submit时,这可能解释了白色页面,上面的错误是什么意思

编辑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

尝试回显值,以确保它不是一个简单的默认值问题

$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查询的影响。

您的html是什么样子的?值是否已发布?请使用
mysql\u real\u escape\u string
。另外,
或die()
不是好的做法,请使用正确的错误处理。您如何知道它正在“消亡”?如果
$newslettesubscribe
设置为
'no'
,或者如果查询成功,则不会生成任何输出。也许你应该添加一些
echo
语句来看看到底发生了什么。因为当你点击submit时,它去掉了整个网站的主题,就像以前它保留导航栏、页眉页脚等一样,现在它变成了白色。我试着回显这些值,它们回显得很好,当我试着把它们加到桌子上时,它就疯了。现在我已经删除了真正的转义字符串,我得到了一个错误:“字段列表”“字段列表”中的未知列“email”将意味着缺少列“email”的是数据库模式,什么是数据库模式?您可以发布它并添加到您的问题中吗?它发布到的数据库是ymeg\u chronoforms\u data\u Newslettesigner Columns=cf\u id(主键)cf\u uid name Email尝试交换列/值的顺序,看看是否在“字段列表”中找不到类似“name”的内容,这可能是表的某个地方的输入错误。如果我交换顺序,则在“字段列表”中得到:未知列“name”
$email = real_escape_string($_POST['email']);
$name = real_escape_string($_POST['name']);
$newslettersubscribe = real_escape_string($_POST['newslettersubscribe']);

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