• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Cookie Problem

djfabi

Mitglied
Hallo,
ich hab auf der Startseite eine Sprach Auswahl. Wenn man auf die Deutsche Flagge klickt wird ein anderes Dokument aufgerufen, und ?lang=german herangehängt.
Bei USA ?lang=usa

Dazu habe ich diesen Code hier:
PHP:
<?php


$t = 60 * 60 * 24 * 365;


if(isset($_GET['lang']) && $_GET['lang'] != ""){
             if(isset($_COOKIE["lang"])){
             if($_GET['lang'] == "german"){
                 setcookie("lang", "german", $t);
             }else if($_GET['lang'] == "usa"){
                 setcookie("lang", "usa", $t);
             }
         
     }else{
         if($_GET['lang'] == "german"){
                 setcookie("lang", "german", $t);
             }else if($_GET['lang'] == "usa"){
                 setcookie("lang", "usa", $t);
             }
     }
header("Location: ../../index.php");
}


?>



So nun mein Problem, ein Cookie wird nie Gesetzt... Was mache ich falsch?
 
Haha klar wird ab dem 1.1.1970 (Geburtsjahr von Unix
, glaube ich) gerechnet.
Aber due Funktion time() gibt ja schon die Sekunden seit diesem Datum aus.
Du willst also darauf hinaus, das mein Cookie schon direkt abgelaufen ist.
Kann er ja garnicht sein weil ich time() ja noch ein paar mal Mal nehme,
Also das kann es nicht sein, andere Meinungen?
 
Aber wo nutzt du denn in deinem Code schon time() ? - Oder bin ich grad einfach blind?
Das einzugebende "Datum" des Auslaufens des Cookie sind die Sekunden seit 1970. time() gäbe dir die Sekunden bis jetzt und dein 60*60*24*365 rechnet ein Jahr drauf und dann dürfte das doch klappen? Kann das bei dir nicht erkennen.
 
Ok danke soweit, ich hab jetzt erstmal den header() rausgenommen, und mit der Hilfe von Chrome festgestellt das der Cookie ja gesetzt wird.
Also das alles passiert in der Datei cookie.php
So wenn ich jetzt aber in der index.php checken will ob der gesetzt worden ist (if(isset(usw.))) wird mir bei Chrome (Entwicklertool) nur der Session Cookie angezeigt.
Aber in der anderen Datei ist der Session Cookie und mein lang Cookie.
Woran liegt es das es nicht übernommen wird?
 
Ahhh jetzt habe ich das Problem selber gelöst!
Ich habe vergessen den 4-ten Parameter anzuhängen, also so:
PHP:
setcookie("name", "inhalt", time()+60 * 60 * 24 * 365, "/");
So nun geht es da ich mit dem / das ganze Verzeichnis ausgewählt habe!

Danke für eure Antworten
 
Zurück
Oben