我有一個以會話電子郵件開始的登錄表單。現在,因爲我希望能夠通過表單更新電子郵件地址,而不會中斷會話,所以我需要將會話更改爲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;
}
?>
爲什麼你的函數返回'true'而不是所需的值? – mario