我有一个以会话电子邮件开头的登录表单。现在,由于我希望能够通过表单更新电子邮件地址,而不会破坏会话,因此我需要将会话更改为 id。问题是它不会将 id 值发送给会话,它只给我值 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;
}
?>