À ce moment-là, je semble avoir mal compris quelque chose à propos des cookies. Pourquoi pas ce travail ...Je ne peux pas mettre de cookies dans php
<?php
if (isset($_COOKIE["stop"])){
echo "Welcome " . $_COOKIE["stop"] . "!<br />";
}
$passedvar = $_POST["stopsaway"];
if (isset($passedvar)){
echo "HHHYES!!!";
if (is_numeric($passedvar)){
echo "Yup its a number string alright! I'll turn it into a int and I'll make a cookie.";
//$passedvar = (int)$passedvar;
setcookie("stop", $passedvar, time()+30);
echo "COOKIE MADE.";
}
}
if (isset($_COOKIE["stop"])){
echo "Welcome " . $_COOKIE["stop"] . "!<br />";
}
//var_dump($_POST["stopsaway"]);
?>
CODE DEUXIÈME
<?php
$thing = 1;
if ($thing==1){
setcookie("stop","4",time()+30);
}
if (isset($_COOKIE["stop"])){
echo "So why won't it work THERE!?";
}
print_r($_COOKIE);
?>
Fondamentalement, je veux l'utilisateur d'entrer un numéro dans un champ, puis un cookie à ce numéro et la page principale reflète ce changement. Cela a fonctionné une fois. Le code du bas semble fonctionner, mais pour une raison quelconque, il ne fonctionne pas à moins que je tape manuellement l'URL pour aller à la page principale en utilisant la fenêtre de la page cookie. Si j'ai les deux onglets ouverts l'un à côté de l'autre ... ça ne fait rien pour rafraîchir la page principale après avoir créé le cookie ... Je me demande pourquoi.
Aussi, je me souviens d'avoir entendu que rien ne peut venir avant setcookie, pour que ça fonctionne, ça doit être la toute première ligne de code ..... Alors comment dois-je vérifier l'entrée en premier, ou d'autres conditions? ? Merci! Ah oui, et j'utilise Firefox, mais j'ai aussi testé sur mon Android. Et ça marche sur une page mais pas sur une autre donc je ne pense pas que ce soit le navigateur.
Je pense que le problème est que '+ 30' c'est un petit temps si je me souviens bien que 30 signifie 30 millisecondes ... le faire comme 3000 pendant 3 secondes –
' Je me souviens d'entendre que rien ne peut venir avant setcookie, pour pour que ça marche, ça doit être la toute première ligne de code ... Alors, comment dois-je vérifier l'entrée en premier, ou d'autres conditions? 'Vous ne pouvez rien afficher avant, car cela déclenche l'en-tête envoyé. Vous pouvez toujours avoir tout le code PHP que vous aimez. –
Donc, je pourrais garder les conditionnels tant qu'ils n'utilisent pas l'écho ou quelque chose? J'ai supprimé les échos, semble faire l'affaire. Merci!! Et Sean non, ça utilise des secondes. – user1159454