Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Cookie Problem [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Cookie Problem


 
->X³<-
19-03-2003, 22:08 
 
Hallo,

Bei einem Accountlogin soll ein Cookie gesetzt werden.
Leider wird es aber nicht gesetzt.
Es wird auch keine Fehlermeldung ausgegeben.
Und wenn ich setcookie() eine Variable zuweise so ist sie 1 .

Cookie sind bei mir aktiviert ;)

Der Abschnitt sieht so aus:


....
if(empty($_POST[login_id]) OR empty($_POST[login_pw])) header("Location: index.php?go=error&out=noinput");
if($_POST[login_id]==$admin[id] AND $_POST[login_pw]==$admin[pw]) header("Location: index.php?go=admin&id=admin");
$login_result=mysql_fetch_array(mysql_query("SELECT * FROM $db[member] WHERE id='$_POST[login_id]' AND kennwort='$_POST[login_pw]'"));
if(empty($login_result[id]) OR empty($login_result[kennwort])) header("Location: index.php?go=error&out=noaccount");
$cookie[value]=array($login_result[id],md5($login_result[kennwort]));
$cookie[value]=implode($cookie[div],$cookie[value]);
setcookie($cookie[name],$cookie[value]);
header("Location: index.php?go=account");
....


Jemand ein Ahnung was es sein kann?


Thanxx X³

 
Abraxax
19-03-2003, 23:26 
 
wenn ich mich nicht irre kann man in cookies keine array ablegen.

du musst vor dem ablegen ein serialize() und beim auslesen vorher ein unserialize() für das array machen.

 
graf
20-03-2003, 00:50 
 
arrays in cookies sind möglich

ist das cookie denn auch da?
sonst setz mal die einstellungen für cookies auf eingabeaufforderung, dann wird es dir der browser schon melden

 
Abraxax
20-03-2003, 07:54 
 
Original geschrieben von graf
arrays in cookies sind möglichok... :cool:

 
graf
20-03-2003, 15:47 
 
oh sorry vielmals .. hab mich geirrt. :rolleyes:
ich dachte ich habe damals arrays verwendet. hab aber doch noch ein implode dazwischen.
setcookie erwartet einen string.

 
Abraxax
20-03-2003, 16:01 
 
Original geschrieben von graf
setcookie erwartet einen string. wusste ich es doch .... :cool: wollte aber nach deinem anderen post nicht im manual nachschauen.


@->X³<-

damit gilt wieder diese aussage.... ;)wenn ich mich nicht irre kann man in cookies keine array ablegen.

du musst vor dem ablegen ein serialize() und beim auslesen vorher ein unserialize() für das array machen.

 
->X³<-
20-03-2003, 16:54 
 
Aber ist denn:

$cookie[value]=implode($cookie[div],$cookie[value]);

kein String?


Gruß X³

 
graf
20-03-2003, 17:04 
 
doch, irgendwie schon.
ich seh auch keinen fehler.

1. weisst du 100%, dass es nicht gesetzt wird oder schaust du evtl. in einem falschen ordner?

2. wenn es evtl. doch da ist, was machst du mit dem inhalt, d.h. welche inhalstsprüfungen führst du durch.

 
->X³<-
20-03-2003, 18:44 
 
... Hab's ...
...fast...
Jetzt wird das Cookie geschrieben.
Die fehlende Gültigkeit scheint meinen Browser gestört zu haben.

Leider will es sich nicht so recht auslesen lassen.

Beginnen tut das so:

if(!$_COOKIE[$cookie[name]]) header("Location: index.php?go=error&out=notlogged");

Und genau das passiert auch :( :( :(

 
graf
20-03-2003, 19:12 
 
aber das heisst ja erstmal nur, dass da nichts drin ist ...

probier mal

if(isset($_COOKIE[$cookie[name]])) {
echo "cookie da?<br>";
echo $_COOKIE[$cookie[name]];
...
}

 
->X³<-
20-03-2003, 20:58 
 
Thanxx a lot ...
Das mit isset war ein guter Denkansatz.

Ein weiteres Prob war, das das Script unmittelbar nach dem absetzten des Cookie es auch schon ausgelesen sehen wollte.

Nochmal vielen Dank :) :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:55 Uhr.