我需要動態檢查會話變量是否每隔幾秒更改一次。例如,PHP會話變量「x」可能具有「1」的值,然後在五秒後具有值「2」。
PHP會話變量「x」通過使用表單進行更改。如果會話變量發生變化,我需要重新加載頁面。
如果會話變量發生變化而無需手動刷新頁面,如何重新加載頁面?
我需要動態檢查會話變量是否每隔幾秒更改一次。例如,PHP會話變量「x」可能具有「1」的值,然後在五秒後具有值「2」。
PHP會話變量「x」通過使用表單進行更改。如果會話變量發生變化,我需要重新加載頁面。
如果會話變量發生變化而無需手動刷新頁面,如何重新加載頁面?
AJAX是一個很好的解決方案。只需向腳本發出請求,即可返回會話變量的當前值。如果不同,則重新加載。
所以,當您第一次加載頁面,你有什麼樣
注:本示例是依靠jQuery庫。
<script type="text/javascript">
var currentSessionValue = <?php echo $_SESSION['something']; ?>;
// pseudo code
setTimeout(checkVariableValue, 5000);
function checkVariableValue() {
$.ajax({
url: 'checkMyValue.php',
success: function(newVal) {
if (newVal != currentSessionValue);
currentSessionValue = newVal;
alert('Value Has Changed.');
doSomethingDifferent_or_refreshPage();
}
});
}
</script>
checkMyValue.php
<?php
start_session();
echo $_SESSION['myVariable'];
?>
你能提供一些代碼作爲例子嗎?我是AJAX的新手。 – 2010-08-18 02:48:39
謝謝。 PERFORM_AJAX_REQUEST會是什麼樣子?你知道是否可以在不調用其他文件的情況下獲得PHP會話變量? – 2010-08-18 02:52:46
頁面加載完成後,唯一的方法是通過執行額外的請求來獲取$ _SESSION數據的當前狀態。 – sberry 2010-08-18 02:56:39
我不喜歡這在我的代碼
<script>
function myFunction() {
var name = document.getElementById("name").value;
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
var phone = document.getElementById("phone").value;
// Returns successful data submission message when the entered information is stored in database.
var dataString = 'name=' + name + '&email=' + email + '&password=' + password + '&phone=' + phone;
if (name == '' || email == '' || password == '') {
alert("Please fill all fields");
} else {
// AJAX code to submit form.
$.ajax({
type: "POST",
url: "signupAjax.php",
data: dataString,
cache: false,
success: function(html) {
var isRegistered = '<?php echo $_SESSION['name'];?>';
var url = '<?php $url = $site_root.'index.php'; echo $url;?>';
if(isRegistered.length > 0)
{
window.location = url;
}
else
{
alert(html);
}
}
});
}
return false;
}
</script>
您使用純JavaScript?任何圖書館? – krx 2010-08-18 02:49:16
我不確定要使用什麼。我認爲JavaScript/AJAX將是一個好主意,但我需要一個代碼示例。 我在想一個簡單的if/then語句,但我需要獲取當前的PHP會話變量並使用JavaScript來刷新頁面,在不重新加載頁面的情況下完成所有這些操作。因此,使用AJAX檢查PHP會話變量並將其與當前值進行比較。 – 2010-08-18 02:51:59