Я передаю переменную sessionnum
из следующей функции Javascript на странице chat.php:
$(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;
});
});
К следующей функции PHP в backend.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);
Это работает только тогда, когда я жестко кодирую присвоение, такое как $tablename1 = 100
в backend.php, даже если переменная и ее значение являются целыми числами и имеют одно и то же значение. Этот хак неприемлем, так как мне действительно нужно передать переменную. Есть ли ошибка в моем коде?
Этот код адаптирован с http://articles.sitepoint.com/article/ajax-jquery/3
Спасибо за любую помощь, правильно разместившую переменную в jQuery.