Setcookie() nem megy minden böngészővel?!
Sziasztok!
Nézelődtem progresszíven, nem találtam hasonlót. (lehet hogy felületes voltam, akkor ezer bocs a főnöktől)
Egy oldalamon a júzert szeretném beléptetni. Ha belépett, akkor egy cookie-t beállítok. Így:És ha a júzer megnyomja a 'belép' gombot, akkor visszadobja a login formot, tök üresen.
Totál véletlenszerűen megy ilyen-olyan böngészőkben. Mindenütt engedélyzve van a cookie használat.
Köszi!!!
■ Nézelődtem progresszíven, nem találtam hasonlót. (lehet hogy felületes voltam, akkor ezer bocs a főnöktől)
Egy oldalamon a júzert szeretném beléptetni. Ha belépett, akkor egy cookie-t beállítok. Így:
<?php
setcookie("webshop[email]", $email, time()+1800);
setcookie("webshop[usertype]", $usertype, time()+1800);
Totál véletlenszerűen megy ilyen-olyan böngészőkben. Mindenütt engedélyzve van a cookie használat.
Köszi!!!
hümm-hümm...
1.) Az, hogy beállítasz cookie-ba valamit, az oké. (Bár tudni illik, hogy a következő PHP-híváskor lehet majd megtalálni a tartalmát. Kerülúő út itt.)
2.) Definiáld légy szíves a sorrendet, mert ahogy írtad így néz ki: "Ha belépett egy cookie-t beállítok" -> "És ha a júzer megnyomja a 'belép' gombot"...
Hogy is van ez? Most belépett, vagy sem? A logikai vázát a scriptnek ha leírnád, lehet, hogy megtalálnád benne a hibát...
Igenis!! :)
A júzer regisztrálta magát, meg már aktiválta is a profilját. Ez eddig OK, egy Mysql táblában benne ül.
Ekkor be kéne lépni:
Meg kell adni a júzernever (email-címet), a jelszót, meg hogy milyen típusú júzer (vevő vagy eladó).
A PHP ellenőrzi a jelszót, ha stimmel, akkor állítom be a cookie-t, és egyből irányítom át az júzert következő oldalra. (Header locationnel).
Szerintem ez OK, mert az esetek többségében működik Már olyanra is gondoltam, hogy belerakok egy sleep(1).et, hátha túl gyors a szerver...:)
Mégegy esetleges: Ha a cookie-t valamicookie[xyz]-ként adom meg, akkor az ISSET megtalálja vajon ISSET(valamicookie)-ként?
Melyik könyvtárra?
setcookie("webshop[email]", $email, time()+1800, "/");
Így elsőre erre gondolok...
Ömlesztve
(Igaz, néha kigúvad a szemem, amig megtalálom, amit kell):)
Egyébként frankón néha működik...
Lehet, hogy ez az egész csak böngésző beállítás kérdése?
És akkor hogy köll kompatibilissá tenni?
Egyébként meg a www.neogallery.hu címen tekinthető...
Okuljunk
Akár hiszitek, akár nem, ha setcookie-t használ az ember, és utána header(location)-nak mégy tovább, akkor elfelejti a cookie-kat.
Ez egy BUG!!
teszt eset?
Első körben kicsit kétkednék ebben az állításban. Tudsz esetleg egy teszt esetet mutatni, ahol egyértelműen kiderül ez a dolog? Csak azért gondolom, mert csinálunk hasonlót.
Üdv,
Felhő
u.i.: Mondjuk pont a napokban mi is belefutottunk egy elég érdekes dologba: bejelentkezés után ugye kap az illető egy új session id-t. Ez a login.php-ban megtörténik, majd amikor átirányítottuk a kezdő oldalra, akkor egy olyan hibaüzenetet kapunk, hogy már lejárt a sessionje. Headerek vizsgálatából kiderült, hogy az történik, hogy mielőtt belép, ott van neki a cookie a régi értékkel, ezután a login.php beállítja az újat, és az átirányítás következtében történő GET kérésben ott a Cookie header, és kétszer van benne a session_id. Ha jól gondolom, akkor ez valami fajta böngésző hiba kell legyen.
Nálam jól műxik a dolog ...