Frage zum Cookie-Tut von Dunsti

theLMF

Mitglied
Ja dazu hab ich mal eine Frage. Verstanden hab ichs (jedenfalls glaub ich das ;D). Doch allein das Tut wollte mir nicht gefallen - also hab ich etwas dran rumgebatselt (nicht viel) - das ergebnis: 's geht nix !!!
Tjo hier mal mein produziertes

PHP:
<?php
if ($sprache=="deutsch") { //wenn in $sprache der Wert "deutsch" drinsteht
   echo "die deutsche Seite"; //die deutsche Seite anzeigen
}
elseif ($sprache=="englisch") { //wenn in $sprache der Wert "deutsch" drinsteht
   echo "die englische Seite"; // die englische Seite anzeigen
}
else { // $sprache ist leer, es wurde also kein Cookie mit dem Namen "sprache" an den Webserver gesendet
   if(!$auswahl)
	{
   echo "bitte die Sprache Auswählen:
      <FORM ACTION=\"index.php?link=test\" Method=\"Post\">
         <SELECT NAME=\"auswahl\">
            <OPTION VALUE=\"deutsch\">deutsch</OPTION>
            <OPTION VALUE=\"englisch\">englisch</OPTION>
         </SELECT>
         <INPUT TYPE=\"Submit\" Value=\"Sprache wählen\">
      </FORM>";
	}
	else
	{
	setcookie("sprache",$auswahl,time()+3600); //Cookie vorbereiten
	echo "Sprache wurde gewählt!<br>Klicken Sie <a href=\"index.php?link=test\">hier</a>"; //Ausgabe an den Browser; Cookie wird gesetzt
	}
}
?>

Welchen Fehler bzw. welches "Gesetz" hab ich hier nicht beachtet...

Ach ja: Fehlermeldung ist das mit dem header... blub

Und noch was: diese test.php auf der der script läuft, wird in die index.php included...
 
Und wie kann ich das umgehen, ohne dass ich bei "form action" den inhalt ändern muss ???

Versucht hab ich folgendes:
PHP:
/// --- test.php -> wird in die index.php included
<?php
if ($sprache=="deutsch") { //wenn in $sprache der Wert "deutsch" drinsteht
   echo "die deutsche Seite"; //die deutsche Seite anzeigen
}
elseif ($sprache=="englisch") { //wenn in $sprache der Wert "deutsch" drinsteht
   echo "die englische Seite"; // die englische Seite anzeigen
}
// $sprache ist leer, es wurde also kein Cookie mit dem Namen "sprache" an den Webserver gesendet
   echo "<br><br>bitte die Sprache Auswählen:
      <FORM ACTION=\"index.php?link=test\" Method=\"Post\">
         <SELECT NAME=\"auswahl\">
            <OPTION VALUE=\"deutsch\">deutsch</OPTION>
            <OPTION VALUE=\"englisch\">englisch</OPTION>
         </SELECT>
         <INPUT TYPE=\"Submit\" name=\"savecookie\" Value=\"Sprache wählen\">
      </FORM>";
?>

und per "savecookie" wird dann die sprache.php "aktiviert"

PHP:
/// --- sprache.php -> wird in index.php included (NICHT IN TEST.PHP)
<?php
if($savecookie)
{
$auswahl = $auswahl;
}
setcookie("sprache",$auswahl,time()+3600); //Cookie vorbereiten
?>

Allerdings tritt dann folgendes Problem auf: der cookie wird erstellt, bleibt aber nur solange am leben wie ich auf der index.php?link=test bleibe... tjo und da hatte ich mehr erwartet :D
 

Neue Beiträge

Zurück