試試這個 做signing.php
$query = "SELECT email, password FROM users WHERE email ='$user' and
password='$pass'" ;
$result = $connect->query($query);
if ($result->num_rows == 0) {
header('Location: signin.php?failed=1');
}
if ($result->num_rows > 0) {
//Email and password matched
$_SESSION['logged_in'] = true;
$_SESSION['User'] = $result->fetch_assoc();
}
而且在main.php檢查寫這篇文章,如果用戶登錄或不作爲
if($_SESSION['logged_in']){
echo "Successfully logged in";
}else{
echo "Login first to view this page";
}
不要忘記在頁面頂部開始會話。並使用$ _SESSION [「用戶」]在主頁上顯示用戶信息。
更新: 您應該在「signin.php」本身上提交您的表單。如果用戶成功登錄,請保存像$_SESSION["is_login"] = true;
這樣的會話和另一個包含用戶信息並重定向到main.php的會話。在main.php中檢查是否設置了「is_login」會話並且爲true。如果真實用戶已登錄並在信息會話中顯示用戶信息。如果未設置「is_login」會話,則將用戶重定向到「signin.php」以再次登錄。
更新2
我發現你唯一的解決辦法是更換
$query = "SELECT cocname FROM users WHERE email=".$_SESSION['email'];
與
$email = $_SESSION['email'];
$query = "SELECT cocname FROM users WHERE email='$email'";
更新3
更換
$query = "SELECT cocname FROM users WHERE email=".$_SESSION['email'];
隨着
$query = "SELECT cocname FROM users WHERE email='{$_SESSION['email']}'";
請提供一些更多的代碼。類似於用戶成功登錄時發生的情況 –
用戶輸入用戶名和密碼的正確組合後,用戶應該去哪裏。 – Akshay
我改變了問題 – Paspartu