Portál AbcLinuxu, 10. května 2025 03:06

Dotaz: PHP:Kontrola jestli má uživatel zapnuté cookie

18.3.2011 14:09 Thomas
PHP:Kontrola jestli má uživatel zapnuté cookie
Přečteno: 551×
Odpovědět | Admin
Zdravím všechny!

Už pár hodin se trápím s touto kontrolou a jsem už úplně v koncích proto se obracím o pomoc sem. Potřebuji zkontrolovat pomocí PHP, jestli má uživatel zapnuté cookie. Chtěl jsem to udělat tak, že:
1) zkontroluji jestli existuje session $_SESSION['test']
2) pokud neexistuje tak ho vytvořím $_SESSION['test'] = true;
3) nasleduje header('Location: http://www.example.com/');
4) znova zkontroluji jestli existuje session $_SESSION['test']
5) pokud existuje tak pokračuji dal
6) else "a tady je problem, pokud neexistuje nasleduje znova header a zaciklení serveru" :(
Poradí zkušený programátor?

Děkuji za ochotu a váš čas.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.3.2011 14:26 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: PHP:Kontrola jestli má uživatel zapnuté cookie
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud chcete kontrolovat cookies, měl byste použít $_COOKIE[], session variables mohou fungovat i bez nich. Kontrolu zacyklení můžete provést např. tak, že při tom přesměrování v bodu 3 předáte nějaký parametr přes GET a podle něj poznáte, jestli jste přišel "zvenku" nebo jestli už testujete.
18.3.2011 14:30 Thomas
Rozbalit Rozbalit vše Re: PHP:Kontrola jestli má uživatel zapnuté cookie
Díky
session variables mohou fungovat i bez nich.
A poradíte jak?
zacyklení
uf, stane se.. holt jsou ruce rychlejší ;)

18.3.2011 16:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP:Kontrola jestli má uživatel zapnuté cookie
Identifikace session se m;že předávat jak GET/POST argument.
<?php
//error_reporting(0);
//ini_set('display_errors', 'Off');

ini_set("session.use_only_cookies", "0");
ini_set("session.use_cookies", "1");
ini_set("session.use_trans_sid","1");
ini_set("session.name", "uidhash");
session_start();

// error_reporting(E_ALL | E_STRICT);
// ini_set('display_errors', 'On');

if(!isset($_SESSION['test']))
  $_SESSION['test'] = '???';
echo 'Last time: '.  $_SESSION['test'] . ', now: ' . time() . '<br />';

$_SESSION['test']=time();

?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" >
  <input type="submit" />
</form>
<a href="<?php echo $_SERVER['PHP_SELF'];?>">link</a>
A zkuste si vypnout cookies a odeslat stránku a prohlídněte si zdroj…
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
19.3.2011 02:52 zulu
Rozbalit Rozbalit vše Re: PHP:Kontrola jestli má uživatel zapnuté cookie
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak si do té hlavičky prostě dej něco, co tomu cyklení zabrání.
header('Location: http://www.example.com/?test');

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.