gpt4 book ai didi

mysql - PHP session 变量未通过 header 和 Ob_Start 函数传递

转载 作者:行者123 更新时间:2023-11-30 01:32:52 25 4
gpt4 key购买 nike

这是我的代码:

<?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。一旦找到它存储在 session 变量“ID”中的信息。

问题:当 session “ID”变量传递到下一页时,它未设置。令人惊讶的是,这段没有 ob_start 函数的代码昨天早上可以工作,但到了下午就无法工作了。我知道它没有设置,因为有两件事:当我在下一页上回显时,没有任何内容出现,并且因为当我尝试使用 session “ID”变量运行查询时,我收到一条 mysql 错误,指出无法进行查询。

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

“执行查询时出错。您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行 '' 附近使用的正确语法”

但是当我尝试打印 session “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)

已经尝试过的解决方案:我已经尝试过所有这些...session_write_close()、session_regenerate_id(true)、session_commit()、ob_end_flush()。我最初尝试在主页上设置 session 变量,但一旦在 session 中执行功能,“ID”变量就不再设置。

请帮忙!我已经阅读了所有能找到的有关此问题的论坛,但似乎没有任何效果。

最佳答案

您在下一页上写的内容是您的代码无法正常工作。请向我提供详细信息。在您通过标题位置定向的页面上尝试此操作。也许您的 session 可以正常工作。

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

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

并在页面最后结束 else 部分

关于mysql - PHP session 变量未通过 header 和 Ob_Start 函数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com