所以發生了什麼是當我登錄和做一個location.reload()$ _SESSION不更新,直到我刷新了幾次或等待像30- 60秒。
它似乎更像是基於時間的,但無法確定。
所以我一直在檢查stackoverflow,但許多問題都解決了301做非www。到www。 (我在.htaccess中完成的)。
我也把我的session_start();在身體的頂部。
if(!isset($_SESSION['username'])): ?>
<div class="right"><span class="button menuButton dropdownTrigger" data-dropdown-id="1"><a>Logga In</a></div>
<?php else: ?>
<div class="right"><span class="button menuButton"><a>Profil</a></div>
<?php endif; ?>
所以這就是我刷新時應該更改的代碼。
它的工作原理就是它需要長時間/多次刷新直到它完成。
$.ajax({
type: "POST",
url: "login/checklogin.php",
data: "myusername=" + username + "&mypassword=" + password,
dataType: 'JSON',
success: function (html) {
//console.log(html.response + ' ' + html.username);
if (html.response === 'true') {
//location.assign("../index.php");
location.reload();
return html.username;
} else {
$("#message").html(html.response);
}
},
error: function (textStatus, errorThrown) {
console.log(textStatus);
console.log(errorThrown);
},
beforeSend: function() {
$("#message").html("<p class='text-center'><img src='images/ajax-loader.gif'></p>");
}
});
這是我訪問哪個重新加載網站並返回值的php代碼。
如果您需要了解更多信息,請不要猶豫,告訴我!
在此先感謝!
對重複問題的更新
這不一樣,因爲它不能幫助更改頁面。
Update檢查與埃德
<?php
session_start();
?>
<!doctype html>
<html>
還測試這一點,它似乎並沒有解決問題。
更新,以顯示其中$ _SESSION使用
//If max attempts not exceeded, continue
// Checks password entered against db password hash
if (password_verify($mypassword, $result['password']) && $result['verified'] == '1') {
//Success! Register $myusername, $mypassword and return "true"
$success = 'true';
session_start();
$_SESSION['username'] = $myusername;
}
可能重複的[php會話變量不更新](http://stackoverflow.com/questions/29388126/php-session-variables-not-updating) –
你寫道,「我也把我的session_start();在身體的頂部。「不要把它放在'
'標籤的頂部。在任何類型的輸出之前,將它放在每個**腳本***的頂部,包括''開始標記。在任何輸出之前,您希望每次請求只運行一次並且只運行一次。 –@EdCottrell你的意思是這樣嗎?檢查我的更新 – MrNaitX