This question already has an answer here:
- Can't set PHP cookie on the same page 2 answers
Hey guys i created a simple PHP page to set a cookie and after reloading check if the cookie is existing and echo out its content.
Setting the cookie works. Reloading works. Displaying the cookie works. BUT: If I leave the page (go to another url etc.) and come back again, the page can NOT read the cookie which was set before, although the cookie hasn't expired and firefox says it's still existing.
Code of the php file:
<!DOCTYPE html>
<html>
<title>Authentication cookie</title>
<body>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Authentication code: <input type="text" name="authcode" value="<?php echo $_GET["authcode"]; ?>">
<input type="submit" name="submit" value="Submit">
</form><br>
<?php
$cookie_name = "authpi";
$cookie_value = $_POST["authcode"];
setcookie($cookie_name, $cookie_value, time() + (10 * 365 * 24 * 60 * 60), '/', '10.0.0.2'); // 86400 = 1 day
?>
<?php
if(!isset($_COOKIE["authpi"])) {
echo "Authentication Cookie named '" . $cookie_name . "' is not set!";
#header("Location: http://www.google.at/");
} else {
echo "Authentication Cookie '" . $cookie_name . "' is set!<br>";
echo "Your authentication code is: " . $_COOKIE[$cookie_name];
}
?>
<p><strong>Note:</strong> After setting the Cookie reload the page to make sure it works!</p>
</body>
</html>
Thanks for your answers!
EDIT: Tried to explain my problem better.
</div>