我在我的代碼中有一個奇怪的問題,我實際上無法解釋,它對我沒有任何邏輯意義。當一個人成功登錄我的網站並將他們重定向到index.php
頁面時,我正在設置一個名爲$_SESSION['user_id']
的會話變量。這工作正常,會話正常工作,但一旦我刷新頁面,會話中的值消失,但我不明白爲什麼。php session/substr問題
$long_user_id = $_SESSION['user_id'];
$user_id = substr($long_user_id, 0, -3);
任何人都可以看到什麼問題在這裏?我認爲名爲user_id
的Session變量將保持不變,但由於某種原因,在第二次頁面加載後它是空的。
在此先感謝
編輯:我沒有張貼我所有的代碼,我通過不提的是,我在每一頁上使用session_start();
犯了一個錯誤。我還想確認,如果我註釋掉頁面中的substr
部分代碼,代碼將起作用。
你是什麼意思的「會話中的價值消失」?取消設置?空的?改變了嗎?你有register_globals = on嗎? – str
我的意思是它消失了,如果我回顯「long_user_id」的值沒有什麼可顯示的。該會話仍然存在,因爲如果它沒有我的代碼會自動將我重定向到登錄頁面,但它不會。該值只是NULL(可能,我不確定!) – James
什麼是您的PHP版本?你使用'session_register()'或'register_globals'嗎?你可以將'error_reporting'提升到最高級別'ini_set('display_errors',1); error_reporting(〜0);'? – hakre