【发布时间】:2010-02-23 22:11:06
【问题描述】:
我有一个网站的时事通讯,但我无法将电子邮件发布到 mysql 数据库。
这里是html表单代码: 订阅
<h2>newsletter</h2>
<br /><input type="text" name="email" value="" id="email" />
<input type="button" name="submit" onclick="submit_it()" value="OK" />
<script type="text/javascript" charset="utf-8">
function submit_it() {
var cate_value = $('#cate').val();
var email_value = $('#email').val();
$.post("subscribe.php", { email: email_value , cate: category_value }, function(response) {
if (response!='') {alert(response)};
alert('ok');
});
}
</script>
</body>
这里是php处理代码:
$host = "localhost";
$user = "some_user";
$password = "some_pass";
$database = "news";
$server = mysql_connect($host, $user, $password);
$connection = mysql_select_db($database, $server);
function sql_quote($value) {
$value = str_replace('<?','',$value);
$value = str_replace('script','',$value);
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
} else {
if ((string)$value[0] == '0') {
$value = "'" . mysql_real_escape_string($value) . "'";
}}
return $value;
}
$q = "INSERT INTO emails (email,cate) VALUES (".sql_quote($_POST['email']).",".$_POST['cate'].")";
mysql_query($q);
?>
任何帮助将不胜感激,因为在过去的 5 小时里我一直在愚弄这个,试图让它工作,我只是想不通,而且我再也看不到它了。我现在眼睛疼。大声笑再次感谢。
【问题讨论】:
-
请发布有关您收到的错误的更多详细信息。我们需要更详细的内容然后“表单不会将信息输入到 mysql 数据库”
-
基本上,当您提交电子邮件时,您会收到“谢谢!”消息,但电子邮件实际上并没有插入到 mysql 数据库中。由于某种原因,它没有将其写入数据库。
-
你可以打印出 $q 来查看它试图运行的查询,你也可以更新 mysql_query($q);到 mysql_query($q) 或 die(mysql_error());查看正在生成的错误(如果有)。