[php] formulaire + cookies
Fermé
orangebudd
Messages postés
60
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
12 avril 2010
-
13 mai 2008 à 21:39
mascio - 11 juin 2014 à 17:16
mascio - 11 juin 2014 à 17:16
A voir également:
- [php] formulaire + cookies
- Supprimer les cookies - Guide
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Récupérer compte hotmail sans formulaire ✓ - Forum Hotmail / Outlook.com
- Formulaire instagram compte suspendu - Guide
3 réponses
Torkass
Messages postés
166
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
21 janvier 2016
95
13 mai 2008 à 23:32
13 mai 2008 à 23:32
Salut, si certaines infos ne bougent quasiment jamais, autant les enregistrer dans un cookie, effectivement ; tes clients apprécieront que tu leur facilites la tâche.
Pour enregistrer les infos insérées, voici la marche à suivre :
Tu ajoutes un champs caché pour que le cookie ne se crée que si ce formulaire est envoyé
Juste avant le formulaire, tu ajoute ceci :
$Infos_client[1] est égal à la seconde (le lieu), et ainsi de suite avec toutes les infos que tu auras renseigné dedans.
Tu peux aussi les redéfinir avec de nouvelles variables comme ceci :
Maintenant, dans le formulaire, il ne faut pas non plus oublier de remplir les champs avec ce que contient le cookie, s'il existe ! Voici un exemple, je ne sais pas quels champs tu as, donc je ne met que ces deux là :
Voilà, j'espère avoir pu t'aider. :)
Pour enregistrer les infos insérées, voici la marche à suivre :
Tu ajoutes un champs caché pour que le cookie ne se crée que si ce formulaire est envoyé
<input type="hidden" name="Infos_client" />Ensuite tu mets ça pour al création du cookie (ça doit être placé avant toute autre ligne de code sur ta page, même avant la balise <html>)
<? if (isset($_POST['Infos_client'])) { $expire = 365*24*3600; // On définit la durée du cookie : 1 an setcookie("Infos_client", $_POST['Quantite']&|&$_POST['Lieu'], time()+$expire); // On crée le cookie avec les données désirées } ?>Là, tu remarqueras que j'ai séparé les diverses infos par des &|& ! C'est pour les différencier par la suite.
Juste avant le formulaire, tu ajoute ceci :
<? if (isset($_COOKIE['Infos_client'])) { $Infos_client = explode("&|&", $_COOKIE['Infos_client']); // On distingue les données séparées par des &|& } ?>Là, $Infos_client[0] est égal à la première donnée enregistrée, c'est à dire la quantité.
$Infos_client[1] est égal à la seconde (le lieu), et ainsi de suite avec toutes les infos que tu auras renseigné dedans.
Tu peux aussi les redéfinir avec de nouvelles variables comme ceci :
<? $Quantite = $Infos_client[0]; $Lieu = $Infos_client[1]; ?>
Maintenant, dans le formulaire, il ne faut pas non plus oublier de remplir les champs avec ce que contient le cookie, s'il existe ! Voici un exemple, je ne sais pas quels champs tu as, donc je ne met que ces deux là :
<input type="text" name="quantite" value="<? echo $Quantite; ?>" /><br /> <input type="text" name="lieu" value="<? echo $Lieu; ?>" />Si le cookie n'existe pas, les champs resteront vides.
Voilà, j'espère avoir pu t'aider. :)
orangebudd
Messages postés
60
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
12 avril 2010
4
13 mai 2008 à 22:13
13 mai 2008 à 22:13
Salut slum dunk!
En fait je ne sais pas si je dois vraiment utiliser les cookies... c'était ma première interrogation ? ^^
Sinon, je n'ai pas encore fait la page, je m'en occupe demain, et je uppe le topic ^^
Merci!
En fait je ne sais pas si je dois vraiment utiliser les cookies... c'était ma première interrogation ? ^^
Sinon, je n'ai pas encore fait la page, je m'en occupe demain, et je uppe le topic ^^
Merci!
11 juin 2014 à 17:16
setcookie() doit être placé dans la feuille de traitement appelée par le formulaire sinon il n'est pas interprété vu qu'il est placé en tout début de page.
Pourquoi créer un cookie caché alors qu'on en a des visibles?
Si le cookie n'existe pas, j'ai un message d'erreur du genre undefined; il faut donc tester l'existence du cookie avec isset() avant de l'appeler.