0
我已在我的網站中實施了評論部分。按下提交按鈕後,通過ajax aproach進行以下過程。在AJAX調用期間PHP會話丟失/空任意
- 註釋被保存在數據庫中。
- 更新日誌評論(仍採用DB),它保存了註釋的細節記錄。 (出埃及記「李四曾這樣評價別人的帖子。」)
- 重新加載註釋部分。現在可以看到新的評論。
- 完成。
的問題出現在二號看到下面的僞代碼。
session_start();
//1. saves the comment in the database.
//2. this gets the current user who submitted the comment
// hence I used the $_SESSION variable
$log .= "$_SESSION['firstname'] $_SESSION['lastname'] "
. 'has commented on someone\'s wishlist.';
updateLog($log); // commits the log in the database.
有時候,結果雲:
李四曾這樣評價別人的心願。
其他時間$ _SESSION是空的,會導致到:
曾這樣評價別人的心願。
我不知道問題出在哪裏。但是,在Ajax調用中傳遞會話詳細信息是否是個好主意? 像這樣(僞):
$.ajax({
url: 'includes/request.php',
type: "POST",
data: {
firstname : $_SESSION['firstname'],
lastname : $_SESSION['lastname'],
//more details here.
success: function(result) {
// update the inner html of comment section
}
});
我對解決上述疑慮,因爲它可能無法在市場上最好的做法,因爲$ _SESSION變量提供無處不在的PHP頁面。說起來,這種情況下的最佳做法是什麼呢?
從:
最後我的域名通過網絡管理員(下圖)掩蔽comments.com
到:coolnamebynetad.com
能掩蔽是罪魁禍首?我想不是因爲$ _SESSION變量有一些工作,並且因爲某些隨機原因,它不會。
喜@ SergeS首先感謝,所以在AJAX中使用Sessions時,這可能是最好的方式/練習嗎? – JohnnyQ
AFAIK是的,我正在使用它... – SergeS
謝謝@SergeS我認爲這是不正確的方式,因爲我意識到我失去了其他用戶的會話跟蹤。我也認爲它受到了網址掩蓋的影響。 – JohnnyQ