セッションメールで始まるログインフォームがあります。セッションを中断せずにフォームでメールアドレスを更新できるようにしたいので、セッションをIDに変更する必要があります。問題は、ID 値がセッションに送信されないことです。実際の ID 番号を返す代わりに、www.mysite.com/profile.php?uid=1 のように値 1 しか返されません。
何か案は?
<?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;
}
?>