我正在設置登錄/註銷,並且正在嘗試將用戶ID號發送到網站中的其他頁面,以便我可以在需要時操作數據庫。當用戶登錄時將會話變量設置爲user_id
我使用查詢匹配的電子郵件/密碼和登錄用戶(注:這不是完整的代碼,而不是問題,我相符的電子郵件和密碼)
$find= mysqli_query("SELECT * FROM users WHERE email='$ema' and password="$pw");
然後我取一個數組然後開始一個會話,然後我在網頁上進一步查看頁面。
if(mysql_num_rows($find) == 1){
$row = mysql_fetch_array($result, MYSQL_BOTH);
$id= $row ['id'];
session_start();
$_SESSION['Login']= $id;
// Redirect - I use JS to send users to next page
}
else {
echo '<script type="text/javascript">';
echo 'alert("Invalid Username or Password");';
echo 'history.back();';
echo '</script>';
}
mysql_close($link);
在其他網頁,我有檢查的會議,如果他們還沒有登錄用戶重定向代碼下面是代碼:
<?php
session_start();
if(!isset($_SESSION['Register'])){
if(!isset($_SESSION['Login'])){
header("location:../notLoggedIn.php");
}
}
$get_id = $_SESSION['Register'];
$get_id = $_SESSION['Login'];
?>
然後,當我檢查什麼在id變量從此登錄頁面傳遞:
$profile = mysql_query("SELECT * FROM profiles WHERE id= $id");
var_export($id);
我得到一個空值。出了什麼問題?
放的session_start();在標題上。 – Noman
首先檢查您是否從您的數據庫獲取記錄。看看它在'mysql_num_rows($ find)'裏面。 –
@MahaDev我正在記錄。我檢查了整個陣列。 – tdrsam