Setcookie>

2 Cevap php

Birisi bu ışık döken yardımcı olabilir acaba:

Bir kullanıcı sorgu dizesinde belirli bir anahtar / değer ile siteye geldiğinde eğer ben bir kurabiye bırakın. diğer bir deyişle: http://www.somesite.com?key=hmm01

Çerez kod önce şablonun üstünde var <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ):

<?php header("Content-Type: text/html; charset=utf-8"); ob_start(); if (isset($_GET['key'])) { setcookie("cookname", $_GET['key'], time()+2592000); /* Expires in a month */ } ob_end_flush(); ?>

Aynı sayfada olsa içinde: Ben çerez koklar ve bazı metin çıkışlar aşağıdaki php kodu var:

`

switch ($cookievalue) { case hmm01: echo "abc"; break; case hmm02: echo "def"; break; case hmm03: echo "ghi"; break; default: echo "hello"; } ?>`

-- Problem is when the user first arrives the sniffer script doesn't detect the cookie and outputs the default text: hello Only when user refreshes page or navigates to a different page does the sniffer detect the cookie.

Herhangi bir sayfa yenileme olmadan çerez ve çıkışını doğru metin düşmesi için nasıl bir fikir?

Çok teşekkürler.

2 Cevap

Sadece ilk kez $ _GET kontrol edin:

if(isset($_GET['key'])) { $cookievalue = $_GET['key']; }
if(isset($_COOKIE['cookname'])) { $cookievalue = $_COOKIE['cookname']; }

switch ($cookievalue) { case hmm01: echo "abc"; break; case hmm02: echo "def"; break; case hmm03: echo "ghi"; break; default: echo "hello"; } ?>

$ _COOKIE ['cookname'] = "bazı değer" (sorgu dizesinde belirli anahtar / değer) ise;

Ve bazı HTTP öğrenmek