Correction exercices les cookies en PHP : Série 01
Correction exercices les cookies en PHP : Série 01
- Correction application 02
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
-
Page: index.php
-
Page: traitement.php
-
Exercice 01
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
-
Exercice 02
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
-
Exercice 03
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
-
Exercice 04
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Solution
<html>
<head>
<title>Index du site</title>
<body>
<?php
// Vérifier si les cookies existent déjà
if(isset($_COOKIE['nom_prenom'])) {
// Si les cookies existent, afficher le message de bienvenue
$nom_prenom = $_COOKIE['nom_prenom'];
echo "Bonjour : $nom_prenom";
} else {
// Si les cookies n'existent pas, afficher le formulaire
echo '<form method="post" action="traitement.php"?>';
echo '<label for="nom_prenom"?>Nom et prénom :</label?>';
echo '<input type="text" id="nom_prenom" name="nom_prenom" required?>';
echo '<button type="submit"?>Soumettre</button>';
echo '</form>';
}
?>
</body>
</html>
<?php
// Vérifier si le formulaire a été soumis
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Vérifier si le champ nom_prenom est défini
if(isset($_POST['nom_prenom']) && !empty($_POST['nom_prenom'])) {
// Récupérer les données saisies dans le champ nom_prenom
$nom_prenom = $_POST['nom_prenom'];
// Enregistrer les données dans les cookies pour une durée de 30 jours (86400 secondes * 30 jours)
setcookie('nom_prenom', $nom_prenom, time() + (86400 * 30), '/');
// Rediriger l'utilisateur vers la page d'accueil
header('Location: index.php');
exit;
} else {
// Si le champ nom_prenom est vide, afficher un message d'erreur
echo "Veuillez saisir votre nom et prénom.";
}
} else {
// Si le formulaire n'a pas été soumis directement à ce script, rediriger vers la page d'accueil
header('Location: index.php');
exit;
}
?>
<?php
if(isset($_POST['textes'])
and $_POST['textes']=="ok")
{
setcookie("couleurFond");
setcookie("couleurTexte");
echo "supprimée";
}
if(!isset($_COOKIE['couleurFond'])
AND !isset($_COOKIE['couleurTexte']) )
{
$fond=$_POST['selectFond'];
$texte=$_POST['selectTexte'];
$expir=time() + 2*30*24*3600;
setcookie("couleurFond",$fond,$expir);
setcookie("couleurTexte",$texte,$expir);
echo "crée";
}
else
{
$fond=$_COOKIE['couleurFond'];
$texte=$_COOKIE['couleurTexte'];
echo "non crée";
}
?>
<!DOCTYPE html >
<html>
<head>
<title>Couleurs avec cookie</title>
<style type="text/css" >
body{background-color: <?php echo $fond; ?>;
color: <?php echo $texte; ?>;}
legend{font-weight:bold;font-family:cursive;}
label{font-weight:bold;font-style:italic;}
</style>
</head>
<body>
<form method="post" action="#">
<fieldset>
<legend>Choisissez vos couleurs</legend>
<label>Couleur de fond
<select name="selectFond">
<option>white</option>
<option>blue</option>
<option>yellow</option>
<option>red</option>
<option>green</option>
</select>
</label><br /><br />
<label>Couleur de texte
<select name="selectTexte">
<option>black</option>
<option>blue</option>
<option>yellow</option>
<option>red</option>
<option>green</option>
</select>
<input type="hidden" name="textes" id="textes" />
</label><br /><br /><br />
<input type="submit" value="Changer les couleurs" />
<input type="submit" value="Effacer les couleurs"
onclick="document.getElementById('textes').value = 'ok'" />
</fieldset>
</form>
</body>
</html>
<?php
if(!isset($_COOKIE['couleur']['fond']) AND
!isset($_COOKIE['couleur']['texte']) )
{
$fond=$_POST['fond'];
$texte=$_POST['texte'];
$expir=time() + 10;
setcookie("couleur[fond]",$fond,$expir);
setcookie("couleur[texte]",$texte,$expir);
}
else
{
$fond=$_COOKIE['couleur']['fond'];
$texte=$_COOKIE['couleur']['texte'];
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Couleurs du site</title>
<style type="text/css" >
body{background-color: ; color: ;}
legend{font-weight:bold;font-family:cursive;}
label{font-weight:bold;font-style:italic;}
</style>
</head>
<body>
<form method="post" action="ch12exo2.php">
<fieldset>
<legend>Choisissez vos couleurs</legend>
<label>Couleur de fond
<input type="text" name="fond" />
</label><br /><br />
<label>Couleur de texte
<input type="text" name="texte" />
</label><br />
<input type="submit" value="Envoyer" />
<input type="reset" value="Effacer" />
</fieldset>
</form>
</body>
</html>