【发布时间】:2014-04-27 06:21:30
【问题描述】:
我试图在每个 ajax 调用中修改一个会话变量(以便以后仅从 db 检索新内容),但是一个会话变量 $_SESSION['s'] 在每个 alt 中都未设置。阿贾克斯调用!但是未修改的会话变量 $_SESSION["iuser"] 工作正常。我正在 localhost / wamp 上测试这个并在 npp 中编码。
<?php
session_start();
//if(isset($_SESSION["s"]))
$in=$_SESSION["s"];
//echo $_SESSION['sid'];
$link=mysql_connect("localhost","root","");
mysql_select_db("secure_scrapbook") or die("Sorry :( Connection Error");
$query="Select data,user,id from public where public=1 && id>'$in' ORDER BY id DESC";
$result=mysql_query($query);
$i=mysql_fetch_array($result);
$_SESSION["s"]=$i["id"];
//echo $_SESSION['sid'];
if(!($_SESSION["s"]==$in))
{echo 0;
echo $in;
echo $_SESSION["iuser"];
echo $_SESSION["s"];
echo "check<br>";
}
?>
--jquery /ajax -----
<script>
setInterval(function() {
$.ajax({
url: "gets.php",
type : "get" ,
dataType : 'html',
success : function(data){
//$("#public").html(data);}
$("#public").html(data+$("#public").html()+'-');}
});}, 5000); //5 seconds
</script>
【问题讨论】:
-
你确定你没有收到
headers already sent吗?我觉得您的<?php之前有空格字符,因此会话根本没有开始。 -
会话没有问题,因为我回显了 session_id 并且每次通话都相同。甚至“用户”会话变量也在回显相同的值!
-
尝试不使用ajax CALL,直接继续,该php并在那里执行。检查输出。
-
确保
$i["id"]不为空,也不为空 -
你应该检查
$i["id"]返回的值。
标签: javascript php jquery ajax session