Hallo Forum,
ich versuche onUnload einer Seite einen Wert per JavaScript in einem Cookie zu speichern, um diesen dann auf der Folgeseite per PHP auszulesen. Leider klappt das nicht wie gewünscht:
Man nehme das Beispiel unten...
1. Gebe ich einen Text in das Textfeld ein und mache einen Reload der Seite (Strg-R), steht - wie erwünscht - der Wert des Cookies zur Verfügung. Das allerdings nur im IE. Nutze ich Mozilla, ist das Verhalten wie in 2.) beschrieben.
2. Gebe ich einen Text in das Textfeld ein und verlasse ich die Seite dann über den Link "Seite verlassen/neu laden" ist der Cookie zunächst mal nicht gesetzt (bzw. mit einem alten Wert gefüllt). Erst wenn ich ein zweites mal auf den Link klicke, steht im Cookie der gewünschte Wert.
Hat jemand eine Erklärung dafür?
Danke vielmals für jeden Hinweis!
Schönen Tag noch,
Arash
<?php
echo '<pre>';print_r($_COOKIE);echo '</pre>';
?>
<html>
<head>
<script language="JavaScript">
function unload() {
var now = new Date();
var expires = new Date(now.getTime() + 1000*60*60*24*365);
document.cookie = 'myText=' + document.getElementById('myText').value + '; expires=' + expires.toGMTString() + ';';
}
</script>
</head>
<body onUnload="unload()">
<form>
<input type type="text" id="myText">
<input type="button" onClick="alert(document.getElementById('myText').value)" value="myText anzeigen">
<a href="testCookie.php">Seite verlassen/neu laden</a>
</form>
</body>