0
我一直在搞這一段時間,我知道這是簡單的。我在另一個網站上使用了基本相同的代碼,它似乎沒有任何問題,並且運行在同一臺服務器上,所以我不認爲這是服務器端問題。這是一個非常簡單的登錄腳本:會話不能使用Wordpress
function user_login($username, $password) {
$passcorrect = user_checkpass($username, $password);
if ($passcorrect == "1") {
$_SESSION['eocname'] = $username;
echo("SETTING SESSION: ".$_SESSION['eocname']."<br />");
$success = "1";
} else {
$success = "0";
}
return($success);
}
這似乎是設置SESSION變量並位於functions.php文件中。
但是,一旦刷新頁面,SESSION就會消失。這裏是關於page.php文件文件中的代碼:
<?php
if (!isset($_SESSION['eocname'])) {
if (!isset($_POST['username'])) {
echo("You must login to access this page!");
echo($_SESSION['username']);
} else {
$result = user_login($_POST['username'], $_POST['password']);
if ($result == "0") {
echo("Incorrect Username or Password.");
} else {
echo("Login Successful!");
}
}
} else {
echo('Welcome back, '.$_SESSION['username'].'!');
}
?>
請注意,我不知道可能有一些多餘的東西在裏面,我一直在玩弄它試圖確定問題,但似乎每次刷新頁面時,$ _SESSION ['eocname']似乎都沒有被設置。
我已添加session_start();到我的functions.php文件的頂部沒有錯誤,以確保它的工作,但仍然沒有運氣。
@ user1524441這就是解決你的問題?讓我知道結果,或者我該如何改善我的飲水器 – Sena 2012-07-13 20:02:16
你好塞納,不幸的是我已經嘗試過兩種方法,都沒有出於某種原因。會話變量仍然看起來正在被刪除或什麼。它會說「登錄成功!」表單提交後,然後頁面刷新後頁面顯示「您必須登錄才能訪問此頁面!」。請注意,這不是一個插件,所以我沒有使用你推薦的add_action部分,但是嘗試將session_start()放在函數中以及wp-config.php文件中。還是一樣的結果。 – user1524441 2012-07-13 23:00:12
@ user1524441讓我知道您在functions.php中的所有代碼 – Sena 2012-07-14 16:28:37