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

Cookie funktioniert nicht

Jeremygolf

Mitglied
Hallo zusammen,

bei folgendem Code möchte ich das geschriebene in der Textarea in eine Variable auslesen und danach in einen Cookies speichern. Aber mit folgendem Code funktioniert das nicht. Könnt ihr mir helfen?
Danke
PHP:
<html>
<head>
<title>133-Uebung 17-1 AS V5.0</title>
</head>
<body>
<form action="">
<textarea name="text"></textarea><br/>
<input type="submit" value="Submit" />
</form>
<?php
$text = $_POST["text"];
setcookie ("Text", $text, time()+600);
 
if(isset($_COOKIE["Text"]))
{
echo "Der Inhalt des Cookies ist: ".$_COOKIE["Text"];
}
?>
</body>
</html>
 
Moin,
du gibst vorher HTML aus, das funktioniert nicht. Das Cookie wird mit dem header den der webserver sendet gesetzt.

PHP:
<?php
$text = $_POST["text"];
setcookie ("Text", $text, time()+600);
?>
<html>
<head>
<title>133-Uebung 17-1 AS V5.0</title>
</head>
<body>
<form action="">
<textarea name="text"></textarea><br/>
<input type="submit" value="Submit" />
</form>
<?php
if(isset($_COOKIE["Text"]))
{
echo "Der Inhalt des Cookies ist: ".$_COOKIE["Text"];
}
?>
</body>
</html>

MfG
 
Moin,
du gibst vorher HTML aus, das funktioniert nicht. Das Cookie wird mit dem header den der webserver sendet gesetzt.

PHP:
<?php
$text = $_POST["text"];
setcookie ("Text", $text, time()+600);
?>
<html>
<head>
<title>133-Uebung 17-1 AS V5.0</title>
</head>
<body>
<form action="">
<textarea name="text"></textarea><br/>
<input type="submit" value="Submit" />
</form>
<?php
if(isset($_COOKIE["Text"]))
{
echo "Der Inhalt des Cookies ist: ".$_COOKIE["Text"];
}
?>
</body>
</html>

MfG
Danke. Aber ich become immer noch eine Fehler:
Notice: Undefined index: text in E:\xampp\htdocs\Schule\index.php on line 2

Grüsse
 
Jetzt mal nachdenken. Wenn das Script das erste Mal aufgerufen wird, ist dann in $_POST irgendetwas gesetzt? Hmmmm?!?!? Ach 'ne, kann ja nicht, weil das Formular ja noch garnicht abgeschickt wurde :D :D Nur was macht man jetzt??? Man könnte ja einfach mal prüfen, ob $_POST["text"] gesetzt ist. Aber wie?!?!?!? Ach ja, da gibt es doch sowas wie isset. *Freu* die Medlung ist weg *Freu*
 
Danke vielmal für eure Antoworten. Aber ich kann den Cookie immer noch nicht auslesen.
Mein Code sieht bis jetzt so aus:
PHP:
<?php
if(isset($_POST['submit']))
{
$text = $_POST["text"];
setcookie ("Text", $text, time()+600);
}
?>
 
<html>
<head>
<title>133-Uebung 17-1 AS V5.0</title>
</head>
<body>
<form action="">
<textarea name="text"></textarea><br/>
<input type="submit" value="Submit" />
</form>
<?php
if(isset($_COOKIE["Text"]))
{
echo "Der Inhalt des Cookies ist: ".$_COOKIE["Text"];
}
?>
</body>
</html>
 
Hallo,

mit einem funktionierenden Formular würde das auch funktionieren.
dein submit fehlt name="submit" da dies ja z2 prüfst
und
Das formular sollte auch als POST senden wenn das oben prüfst z14 method="post"
also so
HTML:
<form method="post" action="#">
<textarea name="text"></textarea><br/>
<input type="submit" name="submit" value="Submit" />
</form>
Cheffchen
 
Mal abgesehen von den Formular-Macken, die dir Cheffchen aufgezählt hat, wird das so dann immer noch nicht gehen. Ein Auszug aus der Doku zu setcookie
Sind die Cookies einmal gesetzt, können Sie beim nächsten Seitenaufruf anhand der $_COOKIE oder $HTTP_COOKIE_VARS Arrays auf diese zugreifen.
Mit anderen Worten, wenn du am Anfang des Scriptes ein setcookie machst, kommst du im selben Durchlauf des Scriptes nicht an die Werte des Cookies. Macht ja auch keinen Sinn, denn du hast den Wert ja gerade erst gesetzt, da muss man nicht auch noch den Keks abfragen
 
Zurück
Oben