Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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
Mysql PHP会话变量未与标头和Ob_Start函数一起传递_Mysql_Session_Http Headers_Session Variables_Ob Start - Fatal编程技术网

Mysql PHP会话变量未与标头和Ob_Start函数一起传递

Mysql PHP会话变量未与标头和Ob_Start函数一起传递,mysql,session,http-headers,session-variables,ob-start,Mysql,Session,Http Headers,Session Variables,Ob Start,这是我的代码: <?php ob_start(); session_start(); include("index.php"); if (isset($_POST['user'],$_POST['pass'])): $con=mysqli_connect("connect info"); if ( !$con ){ die('Could not connect to Database: '.mysqli_error());} $pass=($

这是我的代码:

<?php
 ob_start();
 session_start();
 include("index.php");
 if (isset($_POST['user'],$_POST['pass'])):
     $con=mysqli_connect("connect info");
     if ( !$con ){
         die('Could not connect to Database: '.mysqli_error());}
 $pass=($_POST['pass']);
 $query0 = "SELECT * FROM user WHERE username = '" . $_POST['user'] ."' AND password = '" . $pass . "'";
 $resource0 = mysqli_query($con,$query0);
 if(!$resource0):
     die("Error conducting query. ".mysqli_error($con));
  endif;
  if(mysqli_num_rows($resource0) == 0){
        echo "Username not find";
        header("Location: /login.php");}

   $result0 = mysqli_fetch_row($resource0);
       $_SESSION['ID'] = $result0[0];
       $_SESSION['userType'] = $result0[3];

    if(!isset($_SESSION['ID'])):
        //header("Location: ...");
    else:
        header("Location: ....");
    endif;
else: 
    if(isset($_POST['from'])):
        $_SESSION['from'] = $_POST['from'];
    endif;

    ?>

<?php endif; ?>

此代码获取用户的用户名和密码信息,并存储和搜索数据库中的用户ID。一旦is找到它存储在会话变量“ID”中的信息

问题:将会话“ID”变量传递到下一页时,未设置该变量。令人惊讶的是,这段没有ob_start函数的代码昨天早上还在工作,但到了下午就不工作了。我知道它没有设置,因为有两件事:当我在下一页回显时,没有显示任何内容;当我尝试使用session'ID'变量运行查询时,我收到一个mysql错误,表示无法执行查询

这是下一页上不起作用的代码。起初我认为,我的查询可能有问题,因为我遇到了以下错误:

执行查询时出错。您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取第1行“”附近使用的正确语法

但是当我尝试打印会话“ID”变量时,没有打印任何内容

<?php session_start;
  // Create connection
  $con=mysqli_connect(connect info....);

 // Check connection
 if (mysqli_connect_errno($con))
 {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }

 $query0 = "SELECT * FROM studentProfile WHERE sID = ".$_SESSION['ID'];
 $resource0 = mysqli_query($con,$query0);
 if(!$resource0):
echo $_SESSION['ID'];
die("Error conducting query. ".mysqli_error($con)); 
 endif;

 .......(rest of code)

您在下一页所写的内容表明您的代码不起作用。请提供详细情况。
在您已按页眉位置指示的页面上尝试此操作。可能您的会话可以工作

<?php
   include('config.php');

   if(!isset($_SESSION['ID']))
   {
     header("Location: ../index.html");
   }
  else{
     $user_id=$_SESSION['ID'][0];
     $user_name=$_SESSION['ID'][1];
?>


在最后一页结束else部分

我用信息更新了问题。我还尝试了你建议的代码。我把它添加到个人资料页面。但是,由于没有在索引页上设置会话ID,我只是被重定向回索引页。