I have standed out for awhile now with a thing i want to do. Thing i want to do is to display a message(confirmation, "You have earned 2 points") at the top (message like stackoverflow).
Ive bu oturum değişkeni kullanarak bir onay mesajı saklamak, ve yoktu sonra yükler görüntülemek için bazı mesaj varsa kontrol etmek için, her 1 saniye session.php bir ajax komut dosyası vardır index.php de.
Bu başka bir şekilde yapılabilir alamiyorum ama, acaba? Yani, her 1 saniye her zaman kontrol etmek gerekiyor mu
Sitemin index.php üzerinde bir tasarım ve daha sonra bir çerçeve içinde kalan geziyor.
Neyse, ben zaten gördüğünüz gibi, ben o sunucuya çok fazla talep edebilir düşünüyorum bunun için bir çözüm var.
Yani ben bu başka bir şekilde yapılabilir cant, merak ediyorum? Yani, her 1 saniye her zaman kontrol etmek gerekir?
Bu doğru bir yorum taktınız ve depolanan oturum değişken user_message olarak adlandırılan, daha sonra # kutusunu göstermek için index.php söylemek mümkün değildir.
Benim yorumum "formu" sadece normal bir metin alanı ve bir Gönder düğmesi içeren show.php, üzerinde. Şimdi veritabanına normal mysql sorgusu ile ekler hangi insert.php için, bir dizeye her geçen bir JS komut dosyası aracılığıyla mesaj saklar ve bir oturum değişkeni saklar. (Kaynak kodu aşağıda)
Here's some coding: session.php:
<?php
session_start();
if(isset($_SESSION['user_message'])) {
echo 1;
}
?>
index.php div kutusu:
<div id='box' onclick="closeNotice()" style="display: none">
Hey, <b><? echo $pusername; ?></b> - <? echo $_SESSION["user_message"]; ?>
<a href="#" class="close-notify" onclick="closeNotice()">X</a>
</div>
<?php
$_SESSION["user_message"] = null;
?>
(ben şimdi kullanıyorum) her 1 saniyede yenileme ajax komut:
function checkSession(){
$.ajax({url: "session.php", success: function(data){
if( data == 1){
$('#box').show();
}else{
$('#box').hide();
}
}});
}
setInterval('checkSession()',1000);
Veritabanına Yorum ekler hangi insert.php dize geçer komut:
var nocache = 0;
function insert() {
document.getElementById('insert_response').innerHTML = "Please Wait .. "
var fID= encodeURI(document.getElementById('fID').value);
var kommentar= encodeURI(document.getElementById('kommentar').value);
nocache = Math.random();
http.open('get', 'insert.php?fID='+fID+'&kommentar=' +kommentar+'&nocache = '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}
function insertReply() {
if(http.readyState == 4){
var response = http.responseText;
document.getElementById('insert_response').innerHTML = ''+response;
}
}
Show.php on formu:
<div id="insert_response">
</div>
<form action="javascript:insert()" method="post">
<textarea id="kommentar" name="kommentar"></textarea><br />
<input type="hidden" name="fID" id="fID" value="<? echo $_GET["id"]; ?>" />
<input type="submit" name="Submit" value="Sæt ind!"/>
</form>