php ile CooKie

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
aveysel
Üye
Mesajlar: 151
Kayıt: 16 Mar 2004 03:53
Konum: Internet
İletişim:

php ile CooKie

Mesaj gönderen aveysel »

Arkadaşlar php ile cookie kullanımı hakkında bazı sorularım var.

bildiğim kadarı ile php de cookie oluşturmak için setcookie komutunu kullanıyoruz. ve bu komuta bilgiyi post metodu ile gönderiyoruz. Ancak bu komutu nasıl bir post metodu kullanarak harekete geçirebiliriz bunu anlayamadım.

Mümkünse kısa ve basit bir örnek kod yazarsanız çok memnun olurum..
Select * From LiFe Where Your EYES
http://Www.Gebze.Org
doganzorlu
Kıdemli Üye
Mesajlar: 395
Kayıt: 22 Tem 2004 09:15
Konum: İzmir
İletişim:

Mesaj gönderen doganzorlu »

Selam,

Session yönetimi ve cookie kullanımı oldukça dikkat edilmesi gereken konulardır. Mutlak surette php nin ilgili bölümünün dökümanları okunmalıdır.

Bununla birlikte;

Kod: Tümünü seç

<?
    if (!isset($_COOKIE["birdegisken"])) {
        setcookie("birdegisken","İçinde de bu olsun");
        echo "Cookie set edildi";
    } else {
        echo "Önceden set edilmiş olan cookie değerimiz:" . $_COOKIE["birdegisken"] ;
    }
?>
şeklinde kullanılır. Dikkat edilmesi gereken nokta bu işlemin header la birlikte gitmesi, gerektiğidir. Kodun en başında client a henüz birşey gönderilmeden yapılabilir. Kodun içinde biryerlerde olmaz. (Http header içinde gidiyor yanlış hatırlamıyorsam cookie değişkenleri)

PHP manual ı edinip okumanızı şiddetle tavsiye ederim.
Doğan Zorlu, İzmir

------------------------
"Bu Kitap'ı sana yalnız şunun için indirdik: Hakkında ayrılığa düştükleri şeyi onlara iyice açıklayasın ve Kitap, iman eden bir topluluk için kılavuz ve rahmet olsun." (NAHL 64)
mkarabulut
Üye
Mesajlar: 53
Kayıt: 26 May 2004 11:15
Konum: Gaziantep
İletişim:

Mesaj gönderen mkarabulut »

Hocama bi ekleme yapayım

PHP default olarak bazı headerlar gönderir. Onun için bazı durumlarda siz kodun en üstüne de koysanız cookie, session, header komutlarını yine de header hatası alabilirsiniz.

Bunun için kesin çözüm scriptin en üstünde şunu kullanmaktır

Kod: Tümünü seç

ob_start();
Tabii kodun en altında da

Kod: Tümünü seç

ob_end_flush();
Bu kod ne yapar ?

echo, print v.s. gibi komutlarla gönderdiğiniz çıktıların önce bi cache' e alınmasını oradan gönderilmesini sağlar. Böylece kodun herhangi bir yerinde header içeren komutlar gönderebilirsiniz (setcookie ve header() gibi..)

Ayrıca cache sistemi çıktının topluca bir seferde gönderilmesini sağladığı için performans açısından da iyidir (tabii server performansı diil bu, iletişimin performansı)

Bir opsiyonda ob_start ile sıkıştırma seçeneğini açmaktır

Kod: Tümünü seç

ob_start('ob_gzhandler');
Bu seçenekte yine iletişimi hızlandıracak ama server'a bi parça dha yüklenecek bir diğer seçenektir.

Kolay gelsin
Cevapla