PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 02-06-2014 20:28:55

differentpulses
Membre
Inscription : 02-06-2014
Messages : 4

[Résolu] Echo selon la valeur sélectionnée dans une liste déroulante

Bonjour,

Je débute sur PHP et voilà des heures que j'essaie, cherche des informations, essaie encore, sans résultat... smile pour quelque chose qui me parait pourtant très simple !

Via un formulaire, afficher un texte différent selon la valeur sélectionnée dans une liste déroulante.
Exemple : 'rouge' et 'jaune' sont des choix de la liste. Quand 'rouge' est sélectionné, afficher 'vous avez choisi rouge', etc.

Voici mon formulaire :

<form action="couleur.php" method="post" target="_blank">
  <select name="couleur" id="couleur">
    <option name="bleu" value="bleu">Bleu</option>
    <option name="jaune" value="jaune">Jaune</option>
    <option name="rouge" value="rouge">Rouge</option>
  </select>
<input type="submit" value="Valider" />

J'ai beau fouiller, je n'arrive pas à saisir quelle code utiliser dans mon fichier de traitement couleur.php. J'ai essayé ceci mais le texte "Comme le ciel bleu (...)" s'affiche pour chaque valeur sélectionnée :

<?php
     if(isset($_POST['couleur']))
   if($name= "bleu")
     {
           echo "Comme le ciel bleu ou la mer qui ouvre les horizons, le bleu et ses nuances (turquoise, cyan…) est une couleur étroitement liée au rêve, à la sagesse et à la sérénité. C'est l'une des couleurs préférées des Occidentaux : en effet, elle est omniprésente autour de nous. Le bleu est l'écho de la vie, du voyage et des découvertes au sens propre et figuré (introspection personnelle). Comme l'eau qui désaltère, le bleu a un petit côté rafraîchissant et pur qui permet de retrouver un certain calme intérieur lié aux choses profondes. Le bleu est symbole de vérité, comme l'eau limpide qui ne peut rien cacher.";
     }
   elseif($name= "jaune")
     {
           echo "Descriptif jaune";
   } else {
     echo "Vous n'avez pas sélectionné de couleur !";
   }
?>

Quelqu'un d'entre vous saurait-il m'aider ? :rallyes:

Merci de m'avoir lue.

Hors ligne

#2 02-06-2014 22:45:38

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Echo selon la valeur sélectionnée dans une liste déroulante

Saluton, l'ami
Tout cela m'a l'air tellement confus que je crois que le plus simple à te conseiller, dans un premier temps, c'est que tu regardes de près, avec print_r ou var_dump, dans ton script couleur.php, ce que contient précisément $_POST.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 03-06-2014 08:37:58

differentpulses
Membre
Inscription : 02-06-2014
Messages : 4

Re : [Résolu] Echo selon la valeur sélectionnée dans une liste déroulante

Bonjour,

C'est effectivement confus pour moi smile Voici ce que contient $_POST, mais je ne parviens pas à en comprendre davantage :

array(1) { ["couleur"]=> string(4) "bleu" }

Hors ligne

#4 03-06-2014 09:37:28

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Echo selon la valeur sélectionnée dans une liste déroulante

Bien, tu vois comme cela que nommer chaque <option> ne sert strictement à rien.
Tu peux essayer de modifier ton script couleur.php comme suit

<?php
     if(isset($_POST['couleur'])) {
        switch($_POST['couleur']){
            case 'bleu':
                echo "Comme le ciel bleu ou la mer qui ouvre les horizons, le bleu et ses nuances (turquoise, cyan…) est une couleur étroitement liée au rêve, à la sagesse et à la sérénité. C'est l'une des couleurs préférées des Occidentaux : en effet, elle est omniprésente autour de nous. Le bleu est l'écho de la vie, du voyage et des découvertes au sens propre et figuré (introspection personnelle). Comme l'eau qui désaltère, le bleu a un petit côté rafraîchissant et pur qui permet de retrouver un certain calme intérieur lié aux choses profondes. Le bleu est symbole de vérité, comme l'eau limpide qui ne peut rien cacher.";
                break;
            case 'jaune':
                echo "Descriptif jaune";
                break;
            case 'rouge':
                echo "Descriptif rougee";
                break;
            default :
                echo "?????";
            }
         }
         else
             }    
         echo "Vous n'avez pas sélectionné de couleur !";
           }

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 03-06-2014 13:34:02

differentpulses
Membre
Inscription : 02-06-2014
Messages : 4

Re : [Résolu] Echo selon la valeur sélectionnée dans une liste déroulante

big_smile big_smile Superbe ! Le code fonctionne ! Tu m'arraches une épine du pied, je t'en suis vraiment reconnaissante. Tu n'imagines pas, merci encore.

J'ajoute [REGLE] au titre du sujet ? Ou c'est un modérateur qui le fera ?

Hors ligne

#6 03-06-2014 15:22:39

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Echo selon la valeur sélectionnée dans une liste déroulante

Nedankinde.

J'espère surtout que tu as appris quelque chose, car c'est la finalité de ce forum.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 04-06-2014 09:19:12

differentpulses
Membre
Inscription : 02-06-2014
Messages : 4

Re : [Résolu] Echo selon la valeur sélectionnée dans une liste déroulante

Oui, j'ai découvert l'instruction switch qui est ce dont j'avais besoin. Un cours m'a permis d'en savoir plus (je le poste si quelqu'un tombait sur le sujet) : http://www.php.net/manual/fr/control-st … switch.php

smile

Hors ligne

Pied de page des forums