PHP ile Sayfa Yenilenmesini Algılama
|
#3512 |
|
|
Kaan
User is:
Posts: 2772
Meslek: Serbest Meslek
Age: 43
|
PHP ile Sayfa Yenilenmesini Alg?lama
Asl?nda garip bir y?ntem, ?okca ihtiya? duyulabilecek bir?ey de?il diye tahmin ediyorum. Ama i?te, yeri gelince ihtiya? da olabiliyor. A?a??da verece?im y?ntem tek ba??na sa?l?kl? bir kontrol-?l?me bi?imi de?il. E?er sayfa yenilemesinin alg?lanmas? ?ok ?nemli ise, mutlaka ekstra y?ntemler de geli?itirilmeli. Kod: echo '<pre>',print_r($_SERVER,true); Bu kod ile, PHP taraf?ndan olu?turulan, sunucuya ve ortama dair baz? bilgileri tutan, $_SERVER dizesindeki verileri ekrana yazd?r?yoruz. Bunu yapmam?z?n sebebi, sayfaya direkt olarak girilmesi ile sayfa yenilendi?i zaman ortaya ??kan farkl?l??? orataya koyabilmek. Bu kodun bendeki ??kt?s? a?a??daki gibi : Kod: Array ( [HTTP_HOST] => localhost [HTTP_USER_AGENT] => Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3 FirePHP/0.4 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5 [HTTP_ACCEPT_ENCODING] => gzip,deflate [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7 [HTTP_KEEP_ALIVE] => 115 [HTTP_CONNECTION] => keep-alive [PATH] => /usr/local/bin:/usr/bin:/bin [SERVER_SIGNATURE] => Apache/2.2.14 (Ubuntu) Server at localhost Port 80 [SERVER_SOFTWARE] => Apache/2.2.14 (Ubuntu) [SERVER_NAME] => localhost [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => /var/www [SERVER_ADMIN] => webmaster@localhost [SCRIPT_FILENAME] => /var/www/i.php [REMOTE_PORT] => 50699 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /i.php [SCRIPT_NAME] => /i.php [PHP_SELF] => /i.php [REQUEST_TIME] => 1276953783 ) Bu kodu denerken, sayfay? yeniledi?inizde ek olarak ?u ??kt?y? g?r?rs?n?z : Kod: [HTTP_CACHE_CONTROL] => max-age=0 Bu farkl?l???n sebebi, taray?c?n?n ikinci iste?i yapt???nda, kar??l???nda ?nbellekten gelen bilgileri de?il, sayfay? as?l kaynaktan direkt olarak almak istedi?ini belirtmesidir. ??te bizde bu de?i?keni takip ederek, sayfan?n yenilendi?inin ya da sayfaya direkt olarak eri?ildi?ini anlamaya ?al???yoruz : Kod: if(!empty($_SERVER['HTTP_CACHE_CONTROL'])) { echo 'sayfa yenilendi'; } Bu kontrol ile, sadece i?i kural?na g?re yapan taray?c?lar ile ba?ar? oran?m?z y?ksek olur. Ama bot dedi?imiz siteleri gezen programc?klar i?in farkl? y?ntemler de gerekli. Ersin do?an: Deneysel, Php Web Programlama |
Emlak, Oto Galeri, Rent A Car, ?iir, Edebiyat Script Sipari?lerinizi Verebilirsiniz. Detaylar ??in: kaan@ntka.org Seditio 170 ?ndir Capte M?zik ?ndir Seditio Toolbar ?ndir |













