Pb suppression cookie
corentin.bc
Messages postés
383
Date d'inscription
Statut
Membre
Dernière intervention
-
corentin.bc Messages postés 383 Date d'inscription Statut Membre Dernière intervention -
corentin.bc Messages postés 383 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
sur mon site j'ai une page d'options qui pour pouvoir stoquer les paramètres de mes visiteurs créée des cookies.
J'aimerais proposer un bouton pour réinitialiser la config de base.
J'ai donc fais le code suivant :
mais ça ne fonctionne pas.
Que faire ?
Merci.
sur mon site j'ai une page d'options qui pour pouvoir stoquer les paramètres de mes visiteurs créée des cookies.
J'aimerais proposer un bouton pour réinitialiser la config de base.
J'ai donc fais le code suivant :
<input type="submit" value="réinitialiser" <?php setcookie('menu', time() - 365*24*3600); setcookie('fontsize', time() - 365*24*3600); setcookie('littlescreen', time() - 365*24*3600); ?> />
mais ça ne fonctionne pas.
Que faire ?
Merci.
A voir également:
- Pb suppression cookie
- Forcer suppression fichier - Guide
- Suppression compte gmail - Guide
- Suppression cookies - Guide
- Comment récupérer mon jeu cookie jam - Forum iPad
- Suppression annonce leboncoin sans prévenir - Forum Services en ligne
6 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Tu peux montrer le code complet de la page d'options?
Cela nous permettra de proposer comment ajouter l'option "réinitialiser".
Cela nous permettra de proposer comment ajouter l'option "réinitialiser".
Juste un doute :
Pour rappel, le code PHP est exécuté avant que la page ne soit envoyé au client, donc là, tu vides d'abord le cookie avant d'envoyer la page, donc le fait d'afficher la page supprime le cookie.
Pour rappel, le code PHP est exécuté avant que la page ne soit envoyé au client, donc là, tu vides d'abord le cookie avant d'envoyer la page, donc le fait d'afficher la page supprime le cookie.
Salut à vous 2.
Voici le code complet avec donc la ligne de code expérimentale que j'avais mise pour le bouton de réinitialisation :
merci d'avance !
Amicalement! Corentin.
Voici le code complet avec donc la ligne de code expérimentale que j'avais mise pour le bouton de réinitialisation :
<?php $log = ''; if(isset($_GET['act']) and $_GET['act'] == 'form') { if(isset($_POST['menu'])) setcookie('menu', $_POST['menu'], time() + 365*24*3600, null, null, false, true); if(isset($_POST['fontsize'])) setcookie('fontsize', $_POST['fontsize'], time() + 4*365.25*24*3600, null, null, false, true); if(isset($_POST['littlescreen'])) { if($_POST['littlescreen'] == 'on') setcookie('littlescreen', '1', time() + 4*365.25*24*3600, null, null, false, true); else setcookie('littlescreen', '0', time() + 4*365.25*24*3600, null, null, false, true); } header('Location: /'); } if(isset($_GET['act']) and $_GET['act'] == 'ok') $log = 'ok'; set_include_path($_SERVER['DOCUMENT_ROOT']); include("inclus/consts.php"); $titre="Options"; ?> <!doctype html> <html lang="fr"> <head> <?php include("inclus/header.php"); ?> </div> <?php include("inclus/menu.php"); ?> <hr /> <h3 id="menupage">Sommaire de la page</h3> <a href="#contenu" rel="nofollow noopener noreferrer" target="_blank">Ignorer le sommaire de cette page</a> <ul> <li><a href="#listed" rel="nofollow noopener noreferrer" target="_blank">Choisir le style de menu</a></li> <li><a href="#tllplc" rel="nofollow noopener noreferrer" target="_blank">Choisir la taille de la police</a></li> <li><a href="#petit" rel="nofollow noopener noreferrer" target="_blank">Choisir l'adaptation du site pour les petits écrans</a></li> </ul> </div> <hr /> <div id="container" role="main"> <h1 id="contenu"><?php print $titre; ?></h1> <p>Cette page vous donne accès à quelques options pour personnaliser le site à votre guise.<br /> Les cookies doivent être activés dans votre navigateur pour que cela prenne effet. </p> <form action="?act=form" method="post"> <?php $menu = isset($_COOKIE['menu']) ? $_COOKIE['menu'] : 'select'; $littlescreen = isset($_COOKIE['littlescreen']) ? $_COOKIE['littlescreen'] : 0; ?> <a id="listed"></a> <label for="choix_menu">Style du menu:</label> <select name="menu" id="choix_menu"> <option value="select" id="ld" <?php if($menu == "select") echo "selected='selected'"; ?> > Liste déroulante (par défaut)</option> <option value="ulli" id="lp" <?php if ($menu == "ulli" ) echo "selected='selected'"; ?> > Liste de liens</option> </select> <hr /> <a id="tllplc"></a> <label for="f_fontsize">Taille de la police:</label> <?php if(isset($_COOKIE['fontsize'])) $fontsize = $_COOKIE['fontsize']; else $fontsize = '16'; ?> <select id="f_fontsize" name="fontsize"><option value="11" style="font-size: 11px;" <?php if($fontsize=='11')echo'selected';?>>11: Petit</option><option value="16" style="font-size: 16px;" <?php if($fontsize=='16')echo'selected';?>>16: Normal (par défaut)</option><option value="20" style="font-size: 20px;" <?php if($fontsize=='20')echo'selected';?>>20: Grand</option><option value="24" style="font-size: 24px;" <?php if($fontsize=='24')echo'selected';?>>24: Très grand</option></select><hr /> <a id="petit"></a> <label for="littlescreen">Mode petit écran:</label> <input type="checkbox" id="littlescreen" name="littlescreen"<?php if($littlescreen==1)echo ' checked="checked"'; ?> /><hr /> <input type="submit" value="Valider" /> <br /> <input type="submit" value="réinitialiser" <?php setcookie('menu', time() - 365*24*3600); setcookie('fontsize', time() - 365*24*3600); setcookie('littlescreen', time() - 365*24*3600); ?> /> </form> <hr /> <ul> <li><a href="#menusite" rel="nofollow noopener noreferrer" target="_blank">Retour au menu global</a></li> <li><a href="#menupage" rel="nofollow noopener noreferrer" target="_blank">Retourner au sommaire de la page</a></li> </ul> </div> <?php include("inclus/footer.php"); ?> </body> </html>
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
merci d'avance !
Amicalement! Corentin.
Euh, oui, sûrement raison.
Mais, je sais pas trop faire ça, enfin, je peux tenter mais pourrais-tu me donner un petit exemple de code stp ?
Merki.
Mais, je sais pas trop faire ça, enfin, je peux tenter mais pourrais-tu me donner un petit exemple de code stp ?
Merki.
Tu peux t'inspirer de ce que tu fais pour "littlescreen" : tu offres une checkbox, et, si elle est cochée, le php agit en conséquence.
Tu pourrais donc ajouter une checkbox "réinitialisation", et, si elle est cochée, faire le code que tu proposes.
C'est possible aussi avec le bouton submit tel que tu le proposes, à condition de donner un nom au bouton submit, ce qui te permettra de le tester au retour et d'agir en conséquence.
Tu pourrais donc ajouter une checkbox "réinitialisation", et, si elle est cochée, faire le code que tu proposes.
C'est possible aussi avec le bouton submit tel que tu le proposes, à condition de donner un nom au bouton submit, ce qui te permettra de le tester au retour et d'agir en conséquence.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Euh, j'ai dû faire une gaffe :(
j'ai fais ça :
mais, ma page ne charge même plus :(
Amicalement! Corentin.
j'ai fais ça :
<?php $log = ''; if(isset($_GET['act']) and $_GET['act'] == 'form') { if(isset($_POST['menu'])) setcookie('menu', $_POST['menu'], time() + 365*24*3600, null, null, false, true); if(isset($_POST['fontsize'])) setcookie('fontsize', $_POST['fontsize'], time() + 4*365.25*24*3600, null, null, false, true); if(isset($_POST['littlescreen'])) { if($_POST['littlescreen'] == 'on') setcookie('littlescreen', '1', time() + 4*365.25*24*3600, null, null, false, true); else setcookie('littlescreen', '0', time() + 4*365.25*24*3600, null, null, false, true); } if(isset($_POST['reinitialise'])) { if($_POST['littlescreen'] == 'on') setcookie('menu', time() - 365*24*3600); setcookie('fontsize', time() - 365*24*3600); setcookie('littlescreen', time() - 365*24*3600); else } header('Location: /'); } if(isset($_GET['act']) and $_GET['act'] == 'ok') $log = 'ok'; set_include_path($_SERVER['DOCUMENT_ROOT']); include("inclus/consts.php"); $titre="Options"; ?> <!doctype html> <html lang="fr"> <head> <?php include("inclus/header.php"); ?> </div> <?php include("inclus/menu.php"); ?> <hr /> <h3 id="menupage">Sommaire de la page</h3> <a href="#contenu" rel="nofollow noopener noreferrer" target="_blank">Ignorer le sommaire de cette page</a> <ul> <li><a href="#listed" rel="nofollow noopener noreferrer" target="_blank">Choisir le style de menu</a></li> <li><a href="#tllplc" rel="nofollow noopener noreferrer" target="_blank">Choisir la taille de la police</a></li> <li><a href="#petit" rel="nofollow noopener noreferrer" target="_blank">Choisir l'adaptation du site pour les petits écrans</a></li> </ul> </div> <hr /> <div id="container" role="main"> <h1 id="contenu"><?php print $titre; ?></h1> <p>Cette page vous donne accès à quelques options pour personnaliser le site à votre guise.<br /> Les cookies doivent être activés dans votre navigateur pour que cela prenne effet. </p> <form action="?act=form" method="post"> <?php $menu = isset($_COOKIE['menu']) ? $_COOKIE['menu'] : 'select'; $littlescreen = isset($_COOKIE['littlescreen']) ? $_COOKIE['littlescreen'] : 0; ?> <a id="listed"></a> <label for="choix_menu">Style du menu:</label> <select name="menu" id="choix_menu"> <option value="select" id="ld" <?php if($menu == "select") echo "selected='selected'"; ?> > Liste déroulante (par défaut)</option> <option value="ulli" id="lp" <?php if ($menu == "ulli" ) echo "selected='selected'"; ?> > Liste de liens</option> </select> <hr /> <a id="tllplc"></a> <label for="f_fontsize">Taille de la police:</label> <?php if(isset($_COOKIE['fontsize'])) $fontsize = $_COOKIE['fontsize']; else $fontsize = '16'; ?> <select id="f_fontsize" name="fontsize"><option value="11" style="font-size: 11px;" <?php if($fontsize=='11')echo'selected';?>>11: Petit</option><option value="16" style="font-size: 16px;" <?php if($fontsize=='16')echo'selected';?>>16: Normal (par défaut)</option><option value="20" style="font-size: 20px;" <?php if($fontsize=='20')echo'selected';?>>20: Grand</option><option value="24" style="font-size: 24px;" <?php if($fontsize=='24')echo'selected';?>>24: Très grand</option></select><hr /> <a id="petit"></a> <label for="littlescreen">Mode petit écran:</label> <input type="checkbox" id="littlescreen" name="littlescreen"<?php if($littlescreen==1)echo ' checked="checked"'; ?> /><hr /> <input type="checkbox" id="reinitialise" name="reinitialise" <?php if($reinitialise==1) echo "checked='checked'"; ?> /><hr /> <input type="submit" value="Valider" /> <br /> </form> <hr /> <ul> <li><a href="#menusite" rel="nofollow noopener noreferrer" target="_blank">Retour au menu global</a></li> <li><a href="#menupage" rel="nofollow noopener noreferrer" target="_blank">Retourner au sommaire de la page</a></li> </ul> </div> <?php include("inclus/footer.php"); ?> </body> </html>
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
mais, ma page ne charge même plus :(
Amicalement! Corentin.
Ton code est illisible, sans indentation, et tu négliges d'utiliser la coloration syntaxique offerte par ccm (vois remarque du modérateur plus haut).
Les accolades dans ceci me semblent suspectes:
Les accolades dans ceci me semblent suspectes:
if(isset($_POST['reinitialise'])) { if($_POST['littlescreen'] == 'on') setcookie('menu', time() - 365*24*3600); setcookie('fontsize', time() - 365*24*3600); setcookie('littlescreen', time() - 365*24*3600); else }Je pense que le code php que tu insères au milieu du code html de définition des boutons n'a pas de sens.