【发布时间】:2011-01-23 12:44:24
【问题描述】:
我从chat.php页面中的以下Javascript函数传递变量sessionnum:
$(document).ready(function(){
timestamp = 0;
updateMsg();
$("form#chatform").submit(function(){
$.post("backend.php",{
message: $("#msg").val(),
name: author,
action: "postmsg",
time: timestamp,
tablename1: sessionnum
}, function(xml) {
$("#msg").empty();
addMessages(xml);
document.forms['chatform'].reset()
fixScroll();
});
return false;
});
});
到 backend.php 中的以下 PHP 函数:
if(@$action == "postmsg") {
mysql_query("INSERT INTO `$tablename1` (`user`,`msg`,`time`)
VALUES ('$name','$message',".time().")",$dbconn);
mysql_query("DELETE FROM `$tablename1` WHERE id <= ".
(mysql_insert_id($dbconn)-$store_num),$dbconn);
}
$messages = mysql_query("SELECT user,msg
FROM `$tablename1`
WHERE time>$time
ORDER BY id ASC
LIMIT $display_num",$dbconn);
它仅在我在 backend.php 中硬编码诸如 $tablename1 = 100 之类的赋值时才有效,即使变量及其值都是整数且值相同。这种 hack 是不可接受的,因为我实际上必须传递变量。我的代码有错误吗?
此代码改编自http://articles.sitepoint.com/article/ajax-jquery/3
感谢任何帮助使用 jQuery 正确发布变量。
【问题讨论】:
标签: php javascript jquery post