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>