我在這裏看到類似的問題,但沒有解決方案爲我工作。 我在WAMP和localhost中運行php 5.6。 當用戶正確登錄時,我以session_start()
開始會話並將$_SESSION['user']
設置爲$_POST['username']
,然後我使用header('Location: home.php')
。 home.php開始於session_start()
函數,然後我檢查是否設置了$_SESSION['user']
。如果不是,我重定向到登錄頁面。但是,即使我使用有效的密碼和電子郵件登錄,由於未知原因,它總是將我重定向到登錄頁面。我試圖echo
$_SESSION['user']
,但它只是說它沒有定義。我該如何解決這個問題?PHP會話將不會保存
0
A
回答
0
我們通常把session_start();
在header.php
,現在的問題是,您分配$_POST['username']
到session
,那是錯的,我們使用$_POST['']
從database
檢索數據,所以,你必須鍵入SELECT
查詢從username row
獲取用戶名內database
那麼row
數據分配給會話這樣$_SESSION['username'] = $row['username'];
所以簡單地說,你的錯誤是使用$_POST['username']
而不是SELECT
荷蘭國際集團從database
數據使用$_POST
然後分配它爲session
這樣的$_SESSION['username'] = $row['username'];
0
這是我要做的事:
include('dbconnect.php'); //php with server connection detail
session_start();
$user_check = $_SESSION['login_user'];
$ses_sql = mysqli_query($db,"SELECT username FROM users WHERE username = '$user_check' ");
$row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);
$login_session = $row['username'];
if(!isset($_SESSION['login_user'])){
header("location:login.php");
}
0
- 也許你不能設置 'session_auto_start = ON' 在php.ini
- 首先檢查存在的php.ini中session_save_path,並沒有註釋掉Widnows中是否有一般默認是c:\ windows \ tmp,該目錄默認是不允許讀取其他用戶的。設置文件夾讓所有人都可讀寫
0
確保你的php.ini文件ILE有session.autostart = On
如果你使用Apache,並有正確的選項,你可以用含有這條線.htaccess
文件使session.auto_start
:的php_flag session.auto_start 1
一切的頂部做session_start()
。
相關問題
- 1. PHP會話 - 不保存
- 2. PHP session_start cookie不會保存會話ID
- 3. PHP會話將不會保持註冊
- 4. PHP會話不保存/存儲
- 5. PHP保存會話,但
- 6. PHP會話保存路徑?
- 7. 會話保存延遲php
- 8. 保存PHP會話信息
- 9. PHP保存會話變量
- 10. PHP:會話未保存
- 11. PHP會話保存錯誤
- 12. 未將PHP會話保存在memcache中
- 13. 將php會話保存到db(session_set_save_handler)
- 14. php會話變量不保存
- 15. PHP的http包括不保存會話
- 16. PHP會話在刷新時不保存
- 17. JSONP PHP會話不會保持不變
- 18. 將ID保存到會話
- 19. php會話和會話unset + destroy會話保持不變
- 20. JSF不保存會話
- 21. Rails會話不保存
- 22. 回傳會話不保存
- 23. 會話值不保存
- 24. 的Symfony:會話不保存
- 25. Laravel 5.3會話不保存
- 26. Appserv會話不保存
- 27. 會話不保存變量
- 28. 會話不會保存任何變量
- 29. PHP保持SSH會話存活/存儲
- 30. 保護PHP會話
你必須在用戶登錄之前開始會話 –
請在這裏寫你的代碼,以便我們可以修復它並解釋你做了什麼錯誤。 –