我有2个文件。
我在home.php中设置了一个会话变量,我在点击按钮时对some_func.php进行了ajax调用。
问题:
当我第一次加载页面时,会话变量在home.php中设置,但是相同的内容没有反映在some_func.php中,如果我重新加载home.php然后会话变量值反映在some_func.php。
我不知道为什么第一次加载home.php时会反映会话变量值。
我发现这只发生在我的实时服务器上而不是我的本地主机上。
请帮忙。
<?php
//home.php file
session_start();
include 'db.inc.php';
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die('Unable to connect. Check connection parameters');
mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));
//Checking what is the latest session id available available in my db.
$query = "SELECT max(ses_id) as max_ses_id FROM `dyn_sess` ";
$result = mysql_query($query, $db) or die(mysql_error());
while ($row = mysql_fetch_assoc($result))
{
$_SESSION['curr_sess'] = $row['max_ses_id']+1;
}
echo '<script> alert("Your Session ID : '.$_SESSION['curr_sess'].'");</script>';
?>
<html lang="en">
<head>
</head>
<body>
<meta charset="utf-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function call_some_func()
{
$.post('some_func.php');
}
</script>
<input type="button" value="PREV" onClick=call_some_func()>
</body>
</html>
<?php
//some_func.php
session_start();
require_once('lib/something.php');
// some php code here.
// No sessions variable are set. But the session variable curr_sess is used to call an api and that goes as blank for the first time.
//If I reload home.php it works fine then after from the second time.
?>
<html>
<script> alert(<?php echo $_SESSION['curr_sess'] ?>); </script>
</html>