cookie, oturum açma ve oturum kapatma

PHP ve MySQL ile ilgili yardım taleplerinizi paylaşabilirsiniz.
Cevapla
Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 352
Kayıt: 16 Şub 2009, 01:16

cookie, oturum açma ve oturum kapatma

Mesaj gönderen Özgür » 25 May 2015, 17:48

Kod: Tümünü seç

<?php
/*Cookie setcookie (); fonksiyonu ile olusturulur ve içerisinde 6 (alti) adet argüman tanimlanabilir. Bu argümanlar sirasi ile su sekildedir;
Birinci argüman cookie adidir. Yani ilk argümana çerezin adi verilir.
Ikinci argüman cookie içerigidir. Yani çerez içeriginde barinin veri gelir.
Üçüncü argüman ise cookie ömrüdür. Yani çerezin bitis süresidir.
Dördüncü argüman cookie yani çerezin çalisacagi dizindir.
Besinci argüman cookie yani çerezin çalisacagi domain yoludur.
Altincisi ise cookie yani çerezin güvenlik seviyesidir.
*/
setcookie ("dill","tr");
define("DIL", $_COOKIE["dill"]); // dil'i DIL Olarak define ettik
if(!DIL)define("DIL", "tr");

include "diller/dil_tr.php";
include "diller/dil_".DIL.".php"; // define edilmis dil'i çagirdik
echo "-->".DIL; //exit; //defineyi böyle bastiriyoruz ekrana

 
if  (isset($_COOKIE["dill"])){
 
echo "Dil adinda bir cookie tanimlamis";
echo "-->".$dil; //exit; defineyi böyle bastiriyoruz ekrana
 
}else {
 
echo "Dil adinda bir cookie tanimlanmamis";
 
}
 
?>
<div style="margin-right:40px;">
<? if($dil=="tr"){ ?>
<span style="color:#898B9A">TR</span>&nbsp;|&nbsp;
<? }else{ ?>
<a href="dil.php?&d=tr">TR</a>&nbsp;|&nbsp;
<? } ?>
<? if($dil=="de"){ ?>
<span style="color:#898B9A">DE</span>&nbsp;|&nbsp;
<? }else{ ?>
<a href="dil.php?d=de">DE</a>&nbsp;|&nbsp;
<? } ?>
<? if($dil=="en"){ ?>
<span style="color:#898B9A">ENG</span>
<? }else{ ?>
<a href="dil.php?d=en">ENG</a>
<? } ?>



</div>
cookie uygulamalarında hep eski cookie bilgilerini okumasından dolayı yanıltıcı oluyor. Cookie sayfasını oluştururken önce oturumu kapat scriptini oluşturmak gerekli. Arama yaptım

Kod: Tümünü seç

setcookie("cerezimiz",false);

Kod: Tümünü seç

unset($_COOKIE['cerezimiz']);

Kod: Tümünü seç

setcookie("cerezimiz","",time()-60*60*24, "/", ".sitead.com");
Böyle komutlar var.

Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 352
Kayıt: 16 Şub 2009, 01:16

Re: cookie, oturum açma ve oturum kapatma

Mesaj gönderen Özgür » 25 May 2015, 20:37

define edilmiş dil değeri varsa o da aynı yöntemle mi kapanır?

Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 352
Kayıt: 16 Şub 2009, 01:16

Re: cookie, oturum açma ve oturum kapatma

Mesaj gönderen Özgür » 25 May 2015, 21:21

Define olmamış, cookie açılış ve çıkış yaptım çalıştırdım.

Kod: Tümünü seç

<?php //testi_cookie.php
setcookie ("dili","dil");
define("dili", $_COOKIE["dil"]); // dili'i DIL Olarak define ettik
 
if  (isset($_COOKIE["dili"])){ // if (isset($_COOKIE[])) {} else {}, isset cooike var mı? Denetlemesi yapar
 
echo " adında bir cookie tanımlamış, true <a href=\"cikis_dil_testi.php\">[Dil Oturumunu Kapat x]</a>"; 

echo "-->".$dil; //exit;
 
}else {
 
echo " adında bir cookie tanımlanmamış, false";
 
}
 
?>

Kod: Tümünü seç

<?php //cikis_dil_testi.php
setcookie("dili", "$dil", time() - 3600);
?>

Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 352
Kayıt: 16 Şub 2009, 01:16

Re: cookie, oturum açma ve oturum kapatma

Mesaj gönderen Özgür » 26 May 2015, 14:35

get cookie ile dili çağırmamışsın. Get cookie satırı eklenmiş, define edilmiş şekli aşağıda yazdım.

Kod: Tümünü seç

<?
$dil        = $_COOKIE["dill"];
if(!$dil){$dil="tr";}
define("DIL", $_COOKIE["dill"]); // dil'i DIL Olarak define ettik
if(!DIL)define("DIL", "tr");

include "diller/dil_tr.php";
include "diller/dil_$dil.php";
include "diller/dil_".DIL.".php"; // define edilmiş dil'i çağırdık
//echo "-->".DIL; //exit; //defineyi böyle bastırıyoruz ekrana
?>

tabii dil için referer sayfası da yapman lazım, şöyle;

Kod: Tümünü seç

<div style="margin-right:40px; margin-top:10px;">
	<? if($dil=="tr"){ ?>
<span style="color:#898B9A">TR</span>&nbsp;|&nbsp;
<? }else{ ?>
<a href="dil.php?&d=tr">TR</a>&nbsp;|&nbsp;
<? } ?>
<? if($dil=="de"){ ?>
<span style="color:#898B9A">DE</span>&nbsp;|&nbsp;
<? }else{ ?>
<a href="dil.php?d=de">DE</a>&nbsp;|&nbsp;
<? } ?>
<? if($dil=="en"){ ?>
<span style="color:#898B9A">ENG</span>
<? }else{ ?>
<a href="dil.php?d=en">ENG</a>
<? } ?>
</div>

Özgür
Deneyimli Üye
Deneyimli Üye
Mesajlar: 352
Kayıt: 16 Şub 2009, 01:16

Re: cookie, oturum açma ve oturum kapatma

Mesaj gönderen Özgür » 28 May 2015, 12:51

En doğru uygulama, sayfaya gömülen

Kod: Tümünü seç

<? //sayfaya gömülen
$a=$_COOKIE["dill"]; // cookie tanımladık, $a'ya atadık
if (!$a)$a="tr";
define("DIL", $a); // dil'i DIL Olarak define ettik
define("DIL", "tr");
$dil        = $_COOKIE["dill"];

if(!$dil){$dil="tr";}
include "diller/dil_tr.php";
include "diller/dil_$dil.php";
?>
Değişim sayfası

Kod: Tümünü seç

<?php
$nereye = $_SERVER['HTTP_REFERER']; //değişim sayfası
$dil    = $_GET["d"]; // bu islem hangisi // get ile burada alıyoruz, asıl sayfada değil
setcookie("dill",$dil,time()+360000);
header("Location:$nereye"); 
?>

Cevapla

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 3 misafir