![](/img/trans.png)
[英]fetching id from login session and populating in home page : php and mysql
[英]change $_SESSION['name'] to $_SESSION['id] by fetching id from MySQL
我有一個登錄表單,以會話電子郵件開頭。 現在,因為我希望能夠通過表單更新電子郵件地址,而不會中斷會話,我需要將會話更改為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;
}
?>
$row
是存儲結果ie(數組)找到的結果,你想要的是$row['id']
那是因為你從fetch_user_id
函數返回值true
。 為了獲得正確的結果,您需要從$row
數組返回用戶ID。
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 $row['uid']; // whatever your user id column is called
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.