Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在加载文件之前初始化会话变量_Php_Ajax_Session - Fatal编程技术网

Php 在加载文件之前初始化会话变量

Php 在加载文件之前初始化会话变量,php,ajax,session,Php,Ajax,Session,这是我的login.php文件中存在的代码的一小部分,该文件是登录到我的系统的表单(用户名密码): <script type="text/javascript"> $.ajax({ method:"POST", url:"check_read_status.php" }); </script> <?php include "index.php"; exit; ?> $.ajax({

这是我的login.php文件中存在的代码的一小部分,该文件是登录到我的系统的表单(用户名密码):

<script type="text/javascript"> 
      $.ajax({
        method:"POST",
        url:"check_read_status.php"
      });
 </script>
<?php
    include "index.php";
    exit;
?>

$.ajax({
方法:“张贴”,
url:“check_read_status.php”
});
鉴于check_read_status.php的代码如下:

<?php  
session_start();
if (isset($_SESSION['valid_user']))
{
  $db=new mysqli('localhost', 'root','','apeirosto');         
  if (!($db->connect_errno)) 
  {
     $usermail=$_SESSION['valid_user'];
     $query="SELECT * FROM INBOX WHERE receiver='$usermail' AND status_read=0";
     $result=$db->query($query);
     if ($result->num_rows>=1)
       $_SESSION['unread_messages']=1;
     else
       $_SESSION['unread_messages']=0;    
  }
}
?>

我的问题是我想将会话变量$\u session['unread\u messages']传递给index.php,index.php将创建新的DOM,因为login.php文件的HTML部分不会执行(因为exit命令)。但是,由于AJAX的异步特性,index.php不会立即获知上述会话变量的值。我已经尝试了很多,但是我没有找到一种推迟执行include“index.php”的方法。你有什么好主意吗


谢谢

问题是PHP代码在Javascript代码开始执行之前就完成了执行。解决方案不是使用AJAX,而是在login.php中嵌入check_read_status.php代码。就这么简单

任何会话变量都可以立即访问index.php,因为它可以访问会话。关于延期,你查过JavaScript延期的吗?