Problème de cookies

Eléphanteau du PHP | 27 Messages

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>

Mammouth du PHP | 688 Messages

29 avr. 2015, 15:08

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

c'est contradictoire.