Problème de cookies

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de cookies

Re: Problème de cookies

par tof73 » 29 avr. 2015, 15:08

elseif(!empty($_POST['nom'])){
<form action="./" method="GET">

c'est contradictoire.

Problème de cookies

par anouchka2586 » 29 avr. 2015, 13:14

Bonjour à tous
Je début en PHP et je suis entrain de faire un petit exercice sur les cookies et je suis bloquée. J'aimerais que lorsque je clique sur le bouton "Actualiser" de mon formulaire, j'obtienne la page https://drive.google.com/file/d/0B8RX_G ... sp=sharing avec le lien "Se déconnecter". Mais ce n'est pas le cas et je ne comprend pas d'où peut provenir le blocage. Je vous remercie de votre aide.

Voici mon code vous pouriez voir le formulaire donc je parle en lançant le code dans le navigateur.

Code : Tout sélectionner

<?php if(isset($_GET['deconnect']) && $_GET['deconnect']=='1'){ unset($_COOKIE['nom']); unset($_COOKIE['langue']); setcookie('langue', '', time() - 60, '/', '', false,true); setcookie('nom', '', time() - 60, '/', '', false,true); } $langue_affichee= 'fr'; $isAfficheForm=true; if(isset($_GET['langue'])){ $langue_affichee= $_GET['langue'] ; setcookie('langue', $langue_affichee, 0, '/', '', false,true); } elseif(isset($_COOKIE['langue'])){ $langue_affichee=$_COOKIE['langue']; } elseif(!empty($_POST['langue'])){ $langue_affichee= $_POST['langue'] ; setcookie('langue', $langue_affichee, 0, '/', '', false,true); } $nom= empty($_GET['nom']) ? 'Visiteur' : $_GET['nom']; //$nom='Visiteur'; if(isset($_COOKIE['nom'])){ $nom=$_COOKIE['nom']; $isAfficheForm=false; } elseif(!empty($_POST['nom'])){ $nom=$_POST['nom']; setcookie('nom', $nom, 0, '/', '', false, true); $isAfficheForm=false; } define('AFFICHE', $langue_affichee); $langue=array( 'en'=>'Hello ', 'fr'=>'Bonjour ', 'fg'=>'Mbolo' ); /**$langues=array( 'fr'=>'Français', 'en'=>'Anglais', 'fg'=>'Fang', 'all'=>'Voir tous' ); ***/ $langues=array( 'Français'=>'fr', 'Anglais'=>'en', 'Fang'=>'fg', 'Voir tous'=>'all' ); $retour='<br/>'; function paragraphe($message, $nom, $couleur='blue', $fin=' !'){ return '<p style=" color:'.$couleur.'">'.$message.$nom.$fin. '</p>'; } ?> <?php ?> <!DOCTYPE HTML> <html> <head> <title>Document PHP</title> <meta charset="utf-8"> <meta name="description" content="165c. uniques"> </head> <body> <p> Afficher en : <?php foreach($langues as $symbole=>$en_cours){ echo '<a href="./?langue='.$en_cours.'" style="margin:10px;font-size:smaller">'.$symbole.'</a>'; } ?> </p> <?php if($isAfficheForm):?> <form action="./" method="GET"> <fieldset style="with:80%"> <legend>Donnez quelques informations:</legend> Entrez votre nom: <input type="text" size="50" name="nom" value="<?php echo $nom== 'Visiteur' ? '' : $nom; ?>" /> <input type="submit" value="Actualiser" /> <br/> Votre nationalité : <select name="langue"> <?php foreach($langues as $symbole=>$en_cours){ echo '<option valeur="'.$symbole.'"'; if($symbole==AFFICHE){ echo ' selected="selected"'; } echo '>'.$en_cours.'</option>'; } ?> </select> </fieldset> </form> <?php else : ?> <p><a href="./?deconnect=1">Se déconnecter</a></p> <?php endif ?> <?php if(AFFICHE=='all'){ $recap=''; foreach($langue as $lang=>$message){ $recap .= $lang.' : '.$message.$nom.' !'.$retour; } echo paragraphe($recap,'', 'red',''); } else{ switch(AFFICHE){ case 'en': echo paragraphe($langue['en'], $nom); break; case 'fr': echo paragraphe($langue['fr'], $nom); break; case 'fg': echo paragraphe($langue['fg'], $nom); break; default: echo paragraphe('Votre langue n\'est pas connue ', $nom , 'black'); } } ?> </body> </html>