Bonjour,
Avant tout oui oui je sais que setcookie doit être placé en haut tout en haut avant toute autre chose.
Mais je l'ai pas fait. Pourquoi ? Qu'en sais-je, le goût de l'exotisme peut-être, la soif d'aventure... allez savoir !
Enfin, toujours est-il que j'ai sur un formulaire un input tout nouveau tout beau, qui dit "se souvenir de mes informations". Ce qui nécessite de créer un cookie si le input est coché. Et donc pas du tout si le input n'est pas coché.
Donc j'ai écrit, assez finement du reste, la chose suivante, en haut de la page qui réceptionne les données du formulaire :
Et j'obtiens donc le très fameux cannot send header etc... Normal me direz-vous, il y a un if avant. Mais je ne vais pas initialiser un cookie si le checkbox sauvegarder n'est pas coché. Donc... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php if(isset($sauvegarder)) { setcookie('sauvegarder[pseudo]', '$pseudo', (time() + 3000000)); setcookie('sauvegarder[email]', '$email', (time() + 30000000)); setcookie('sauvegarder[titreSite]', '$titreSite', (time() + 3000000)); setcookie('sauvegarder[urlSite]', '$urlSite', (time() + 3000000)); } ?>
L'idée, pourtant fulmineuse, était ensuite d'afficher naturellement la valeur du cookie dans le value des inputs des formulaires, comme suit :
Mais ça ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input name="pseudo" type="text" size="30" maxlength="30" value="<?php $_COOKIE['sauvegarder']['pseudo']; ?>" >
Comme la page formulaire.php est elle même inclue dans la page index.php, j'ai aussi essayé de placer le setcookie dans la page index.php, tout en haut.
Marche pas.
Pourtant c'est simple les cookies normalement, peut-être est-ce parce que je n'ai pas mangé de la journée? Où est l'erreur dans mon boulot ?
Partager