AJAX ile refresh olmadan degeri kontrol ettirip 1 oldugunda popup işlemlerini yapabilirsin
Bir tablodaki veriyi kontrol ettirmek icin mutlaka sayfayi refresh ettirmek mi gerekiyor. Bunu sayfa refresh olmadan yapamazmiyiz.
Suanda tablodaki deger 0. Burasi 1 oldugunda otomatik olarak pop up acilmasini istiyorum. Ama suanda mevcut sistemlerin hemen hepsi iframe ile veya sayfa icine gomulmus olan refresh ler ile bunu tespit edebiliyor. Refresh in sinir bozucu tik sesi de beni rahatsiz ettiginden bu yontemi kullanmak istemiyorum. AJAX veya DHTML gibi yardimci lisanlar ile bu mumkun mudur?
Eger mumkun degil ise meta icine refresh i attip iframe ile yapacam
AJAX ile refresh olmadan degeri kontrol ettirip 1 oldugunda popup işlemlerini yapabilirsin
interval ile belirli aralıklar ile phpye veri gönderip bunu kontrol ettirebilirsin bunu da AJAX ile yapabilirsin
gonder.phpgonderildi.phpPHP Kodu:<script type="text/javascript" language="javascript">
var http_request = false;
function makePOSTRequest(url, parameters) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(parameters);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById('myspan').innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}
function get(obj) {
var poststr = "mytextarea1=" + encodeURI( document.getElementById("mytextarea1").value ) +
"&mytextarea2=" + encodeURI( document.getElementById("mytextarea2").value );
makePOSTRequest('gonderildi.php', poststr);
}
</script>
<form action="javascript:get(document.getElementById('myform'));" name="myform" id="myform">
<textarea id="mytextarea1">my test
1
2
3
</textarea>
<textarea id="mytextarea2">my test2
4
5
6</textarea>
<br>
<input type="button" name="button" value="Submit"
onclick="javascript:get(this.parentNode);">
<input type="submit" name="button" value="Normal Submit Button">
</form>
<br><br>
Server-Response:<br>
<hr>
<span name="myspan" id="myspan"></span>
<hr>
kendi gore ayarlaPHP Kodu:<?php
print_r($_POST);
?>
bu daha iyi giib http://www.dynamicdrive.com/dynamici...axroutine.htm#
prototype kullanin daha guvenli.. yada yahoo connection manager.
Cevizi kIr, icinden cikani ye
Konu küllenmiş ama merak ettiğim bir şey vardı onu sorayım dedim ben Raiden'in sitesindeki şunu kullanmaya çalıştım.
BURADAN BAKINIZ
Fakat ben bir php fonksiyonunu çağırmaya çalışıyorum olmuyor. Nasıl yapılacağı konusunda fikir verebilecek olan var mı?
İmza yerine parmak bassam olur mu?
Gerek kalmadı arkadaşlar meğerse dosya yolunu vermeyi unutmuşumçalışıyormuş
![]()
İmza yerine parmak bassam olur mu?
Arkadaşlar, yukarıdakini müstakil çalıştırdım ama kendi çalışmama uygulayamadım. Bunun üzerine Forumda ararken rastladığım (şimdi yine aradım bulamadım) yanlış hatırlamıyorsam hunTER ait bir kod vardı bunu hemen hemen kendi çalışmama adapte ettim ama tek sorun var kodları vereyim önce
Bu kodda <div id="yazdirma_alani"></div> kısmından nasıl kendi fonksiyonuma arguman gönderebilirim.Kod:<html> <head> <script> function Veri(){ var yazdirma_alani = document.getElementById('yazdirma_alani'); var x = XML('classlar/istemci.php'); // XMLHttpRequest nesnesını cagır. x.send('bir=1&sey=2'); // Bıseyler gonder.. // Bıseyler al.. x.onreadystatechange = function() { if (x.readyState == 4 && x.status == 200){ yazdirma_alani.innerHTML = x.responseText; setTimeout("Veri()",3000); // Her 3 sanıyede bır kendını yenıle. } } } function XML(hedef) { var x; /*@cc_on @*/ /*@if (@_jscript_version >= 5) try { x=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { x=new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { x=false; } } @else x=false; @end @*/ if(!x && typeof XMLHttpRequest != 'undefined'){ try { x = new XMLHttpRequest(); } catch (e) { x=false; } } x.open('POST',hedef,true); x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=iso-8859-9'); return x; } </script> </head> <body><!-- <body onLoad="Veri(); // Sayfa yuklendıgınde baslar">!--> <div id="yazdirma_alani"></div> </body> </html>
Şu kısmı kullanmam gerekiyor gibi geliyor
ama maalesef nasıl yapacağımı kestiremedim.Kod:x.send('bir=1&sey=2'); // Bıseyler gonder..
<div id="yazdirma_alani"></div> db den veri çeken bir döngü içinde benim burada mesela id yi iletmem lazım
şöyle $str[0];
İmza yerine parmak bassam olur mu?
Veriyi iletmeyi başardım ama tüm elemanların değil sadece ilk elemanın sonucunu döndürüyor.
İmza yerine parmak bassam olur mu?
Kodu aşağıdaki şekle dönüştürdüm fakat JS de döngüler farklı mı çalışyor anlayamadım. Teoride ögenin id numarasını alıp gönderip sonra cevabı çekip <div> e ataması ardından sonrakine geçmesi lazım ama sorun oluyor. Birinci ögenin değerini alıp gönderiyor ama sonucu (sıralanmış halde 5 öge var) ikinci ögeye yansıtıyor. Operada ise çalışmaması son elemana yani beşinci elemana ekliyor.
Ancak bu kadar gelebildim bir yardım eden çıkarsa sevinirim
istemci.phpKod:<?php // BELGE include() edilebilir ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254" /> <title>DENEME SAYFASI</title> <script> function Veri() { var x = XMLIstek(), i=0, gelendiv; var divler = document.getElementsByTagName('div'); while(gelendiv = divler[i++]) { if(gelendiv.className == "alanlar") { var al = document.getElementById(gelendiv.id) /**//**/ x.send('puani='+gelendiv.id); x.onreadystatechange = function() { if (x.readyState == 4 && x.status == 200) { al.innerHTML = x.responseText; setTimeout("Veri()",3000); // Her 3 sanıyede bır kendını yenıle. } } } } } function XMLIstek() { var x = null; if(!x && typeof XMLHttpRequest != 'undefined') { try { x = new XMLHttpRequest(); } catch (e) { x=false; } } x.open('POST','classlar/istemci.php',true); x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=ISO-8859-9'); return x; } </script> </head> <body onLoad="Veri()"> <?php for($i = 1; $i < 6; $i++) { echo $i.'<br>'; echo '<div id="'.$i.'" class="alanlar"></div><br>'; } ?> </body> </html>
PHP Kodu:<?php
$n = $_POST["puani"];
echo "hadi yaz ".($n);
?>
İmza yerine parmak bassam olur mu?
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks