gpt4 book ai didi

php - MySQL 值作为 PHP session

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

我有一个注册脚本,其中用户 ID 在注册后保存为 session 变量,用户被重定向到他们的主页。由于某种原因,用户 ID 未存储在 session 变量中。这个完全相同的脚本适用于不同的项目,我只是接受了该项目并更改了数据库连接设置,但现在它不起作用了。

注册脚本如下:

    mysqli_connect($db_host, $db_user, $db_pass) OR DIE (mysqli_error());
// select the db
mysqli_select_db ($link, $db_name) OR DIE ("Unable to select db".mysqli_error($db_name));

// our sql query
$sql = "INSERT INTO seekers (first_name, last_name, username, email, password, salt) VALUES ('$firstName', '$lastName', '$username', '$email', '$hashedPW', '$salt');";

//save the updated information to the database
$result = mysqli_query($link, $sql) or die("Error in Query: " . mysqli_error($link));
if (!mysqli_error($link)) {

$row = mysqli_fetch_assoc($result);
$_SESSION['user_id'] = mysqli_insert_id($link);
$_SESSION['loggedin'] = TRUE;
header("Location: ../index.php");
}

这是 protected 页面上的 session 检查和数据库查询:

session_start();

if(isset($_SESSION['loggedin']) && $_SESSION['user_id'] != 'user_id') {

include_once('includes/user.header.php');

//set user_id
$user_id = $_SESSION['user_id'];

//include the logged in user header
include_once('includes/user.header.php');

//select user information according to their logged in user_id
$sql = $link->query('SELECT * FROM seekers WHERE id = "'.$user_id.'"');
$row = mysqli_fetch_assoc($sql);

//create piece name together
$firstName = $link->real_escape_string($row['first_name']);
$lastName = $link->real_escape_string($row['last_name']);
$fullName = $firstName. " " .$lastName;

//get username
$username = $link->real_escape_string($row['username']);

当我被重定向到 index.php 页面时,一切看起来都很好,只是没有从数据库中查询任何用户信息。

谁能看出这里出了什么问题?我知道它一定是小东西,我只是在看它。

如有任何帮助,我们将不胜感激。

编辑:所有信息也成功存储在数据库中。

最佳答案

您正在尝试在没有选择查询的情况下使用 user_id ...实际上您必须获得最后一个插入 ID

换行;

$_SESSION["user_id"]=mysql_insert_id();

if (!mysqli_error($link)) 

应该是

 if (!mysqli_error($result))

 $sql = $link->query('SELECT * FROM seekers WHERE id = "'.$user_id.'"');

 $sql = $link->query('SELECT * FROM seekers WHERE user_id = "'.$user_id.'"');

关于php - MySQL 值作为 PHP session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13617465/

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