Propblème de compréhension de script php
anthony
-
atspinto Messages postés 338 Date d'inscription Statut Membre Dernière intervention -
atspinto Messages postés 338 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
pouvez vous m'expliquer ce code je comprend pas pourquoi il dise 'selected="selected"' viola le code
<code><?php
function choixParDefaut($couleur) // Création de la fonction
{
$par_defaut = ''; // On crée une variable (vide par défaut) que l'on retournera à la fin
if (isset($_POST['couleur'])) // Si le visiteur a choisi une couleur
{
if ($_POST['couleur'] == $couleur) // Si cette couleur correspond à la couleur que l'on est en train de traiter
{
$par_defaut='selected="selected"'; // Alors on modifie la variable que l'on retournera et on lui met selected
}
}
return $par_defaut; // On ne retourne rien si ce n'était pas la couleur choisie, selected si c'était la bonne couleur
}
// -------------- Fin de la fonction ---------------
if (isset($_POST['couleur'])) // On vérifie si le visiteur a déjà choisi une couleur
{
echo '<p>Votre couleur préférée est le : ' . htmlspecialchars($_POST['couleur']) . '</p>';
}
?>
<p>Quelle est votre couleur préférée ?</p>
<form method="post">
<p>
<select name="couleur">
<option value="Bleu" <?php echo choixParDefaut('Bleu'); ?>>Le Bleu</option>
<option value="Marron" <?php echo choixParDefaut('Marron'); ?>>Le Marron</option>
<option value="Vert" <?php echo choixParDefaut('Vert'); ?>>Le Vert</option>
<option value="Rose" <?php echo choixParDefaut('Rose'); ?>>Le Rose</option>
</select>
<input type="submit" value="OK" />
</p>
</form>
</code
pouvez vous m'expliquer ce code je comprend pas pourquoi il dise 'selected="selected"' viola le code
<code><?php
function choixParDefaut($couleur) // Création de la fonction
{
$par_defaut = ''; // On crée une variable (vide par défaut) que l'on retournera à la fin
if (isset($_POST['couleur'])) // Si le visiteur a choisi une couleur
{
if ($_POST['couleur'] == $couleur) // Si cette couleur correspond à la couleur que l'on est en train de traiter
{
$par_defaut='selected="selected"'; // Alors on modifie la variable que l'on retournera et on lui met selected
}
}
return $par_defaut; // On ne retourne rien si ce n'était pas la couleur choisie, selected si c'était la bonne couleur
}
// -------------- Fin de la fonction ---------------
if (isset($_POST['couleur'])) // On vérifie si le visiteur a déjà choisi une couleur
{
echo '<p>Votre couleur préférée est le : ' . htmlspecialchars($_POST['couleur']) . '</p>';
}
?>
<p>Quelle est votre couleur préférée ?</p>
<form method="post">
<p>
<select name="couleur">
<option value="Bleu" <?php echo choixParDefaut('Bleu'); ?>>Le Bleu</option>
<option value="Marron" <?php echo choixParDefaut('Marron'); ?>>Le Marron</option>
<option value="Vert" <?php echo choixParDefaut('Vert'); ?>>Le Vert</option>
<option value="Rose" <?php echo choixParDefaut('Rose'); ?>>Le Rose</option>
</select>
<input type="submit" value="OK" />
</p>
</form>
</code
A voir également:
- Propblème de compréhension de script php
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Easy php - Télécharger - Divers Web & Internet
- Ghost script - Télécharger - Polices de caractères
- Expert php pinterest - Télécharger - Langages
3 réponses
$par_defaut='selected="selected"';
permet definir l'option ki sera affichée (selectionnée) kand dans ta liste deroulante sera chargée..
la fonction choixParDefaut ki a été faite, permet d'éviter de faire du code repetitif pour chaq option de la liste deroulante...
je sais pas si ça repond à ta kestion...
permet definir l'option ki sera affichée (selectionnée) kand dans ta liste deroulante sera chargée..
la fonction choixParDefaut ki a été faite, permet d'éviter de faire du code repetitif pour chaq option de la liste deroulante...
je sais pas si ça repond à ta kestion...
anthony
non sa répond pas vraiment a ma question en faite ce que je comprend pas c'est que dans la liste d'éroulante il n'ya pas de valeur par default il ont pas mit selected dans la liste donc pourquoi il mette ce $par_defaut='selected="selected"';
<option value="Bleu" <?php echo choixParDefaut('Bleu'); ?>>Le Bleu</option>
echo choixParDefaut('Bleu'); permet de comparer la couleur l'option en cours avec la couleur reçue par le $_POST; ce ki fait koi, par defaut tu n'a rien kom valeur de retour de la fonction d'où ceci $par_defaut = ''; comme initialisation..
par contre si la couleur reçu correspond celle de l'option en cours, ta fonction renvoie donc $par_defaut='selected="selected"'; simplement pour dire ce ke sera la couleur affichée direct kand ta liste deroulante sera chargée... mais pas ke les otr n'existeront pas...
une option sera donc soit:
- <option value="Bleu" selected="">Le Bleu</option> (si c'est pas la couleur bleu ki est reçue)
- ou <option value="Bleu" selected="selected">Le Bleu</option> (sinon)
tout comme il aurait simplement pu faire dans la fonction choixParDefaut un truc du genre, si la couleur correspond renvoyer simplement "selected" et faire chak option kom ceci :
<option value="Bleu" selected="<?php echo choixParDefaut('Bleu'); ?>" >Le Bleu</option>
<option value="Marron" selected="<?php echo choixParDefaut('Marron'); ?>">Le Marron</option> .....
j'espere ke ça repond now....
echo choixParDefaut('Bleu'); permet de comparer la couleur l'option en cours avec la couleur reçue par le $_POST; ce ki fait koi, par defaut tu n'a rien kom valeur de retour de la fonction d'où ceci $par_defaut = ''; comme initialisation..
par contre si la couleur reçu correspond celle de l'option en cours, ta fonction renvoie donc $par_defaut='selected="selected"'; simplement pour dire ce ke sera la couleur affichée direct kand ta liste deroulante sera chargée... mais pas ke les otr n'existeront pas...
une option sera donc soit:
- <option value="Bleu" selected="">Le Bleu</option> (si c'est pas la couleur bleu ki est reçue)
- ou <option value="Bleu" selected="selected">Le Bleu</option> (sinon)
tout comme il aurait simplement pu faire dans la fonction choixParDefaut un truc du genre, si la couleur correspond renvoyer simplement "selected" et faire chak option kom ceci :
<option value="Bleu" selected="<?php echo choixParDefaut('Bleu'); ?>" >Le Bleu</option>
<option value="Marron" selected="<?php echo choixParDefaut('Marron'); ?>">Le Marron</option> .....
j'espere ke ça repond now....