我有一个登录表单,以 session 电子邮件开头。现在,由于我希望能够通过表单更新电子邮件地址,而不破坏 session ,因此我需要将 session 更改为 ID。问题是它不会向我发送 id 值到 session ,它只给我值 1,如下所示:www.mysite.com/profile.php?uid=1 而不是返回真实的 id 号。
有什么想法吗?
<?php
if(isset($_SESSION['email'])){
$_SESSION['uid'] = fetch_user_id($_SESSION['email']);
header("Location: profile.php?uid=" . $_SESSION['uid']);
die();
}
?>
<?php
function fetch_user_id($email){
global $db;
$query = $db->query("SELECT id FROM user WHERE email='{$_SESSION['email']}'");
$row = $query->fetch(PDO::FETCH_ASSOC);
return true;
}
?>
最佳答案
$row
正在存储结果,即找到的结果的(数组),您想要的是 $row['id']
关于php - 通过从 MySQL 获取 id 将 $_SESSION ['name' ] 更改为 $_SESSION['id],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16005778/