Menu déroulant

Menu déroulant - PHP - Programmation

Marsh Posté le 23-10-2011 à 21:52:12    

Bonsoir.
Dans le cadre d'un mini-projet, je dois réaliser une petite application web en PHP.
La première chose que je dois implémenter est une simple liste déroulante de 3 items "choix", "pers" et "comp".
Pour commencer, le programme doit fonctionner ainsi :
- il ne se passe rien lors du clic sur "Faites votre choix"
- "pers non dispo" lors du clic sur "Informations individus"
- "comp non dispo" lors du clic sur "Comparatif (non implanté)"
 
Voici le programme que j'ai commencé :
 

<html>
  <head>
    <title>Affichage g&eacute;n&eacute;alogie</title>
  </head>
  <body background="../fondx.jpg">
<?php
if (!isset($PHP_AUTH_USER)) {
  header("www-authenticate: basic realm=\"'Test accueil'\"" );
  header("HTTP/1.0 401 Unauthorized" );
  print("Autorisation d'acc&egrave;s refus&eacute;e\n" );
  exit;
}
 
$base=@pg_connect("host=fm2 dbname=enseignement " .
                  "user=$PHP_AUTH_USER password=$PHP_AUTH_PW" );
if (!$base) {
  header("HTTP/1.0 401 Unauthorized" );
  print("Autorisation d'acc&egrave;s refus&eacute;e\n" );
  exit;
}
 
if (!isset($lechoix)) {
  $lechoix="";
}
 
switch ($lechoix) {
case "":
?>
    <h1 align="center">Menu principal</h1>
    <hr width="100%">
    <form action="./genealogie.php" method="get">
      <select name="lechoix">
        <option value="choix">Faites votre choix</option>
        <option value="pers">Informations individu</option>
        <option value="comp">Comparatif (non implant&eacute)</option>
        <input type="hidden" name="lechoix" value=""/>
      </select>
    </form>
    <hr width="100%">
<?php
break;
 
case "pers":
?>
    <h1>pers non dispo</h1>
<?php
break;
   
case "comp":
?>
    <h1>comp non dispo</h1>
<?php
break;
   
default:
?>
    <h1>Erreur</h1>
<?php
break;  
}
?>
  </body>
</html>


 
Malheureusement, ça ne fonctionne pas. Lors du clic sur "Informations individus" ou "Comparatif", rien ne se passe. Dans la barre URL, je n'ai pas de "?lechoix=pers" par exemple. On dirait bien que je ne rentre pas dans le switch.
 
Il manque un truc dans mon programme ?
 
Je suis complétement débutant en PHP, j'ai cependant des notions en XHTML et en C#.
Merci de votre aide. :)


---------------
206 Diesel
Reply

Marsh Posté le 23-10-2011 à 21:52:12   

Reply

Marsh Posté le 24-10-2011 à 09:51:20    

Ben tu récupère où la valeur sélectionnée par l'utilisateur :??:
Je vois pas de variable $_GET (soit dit en passant, la méthode "post" est "plus recommandée" que get...)
 
Pour ton formulaire, faudrait aussi ajouter un bouton "envoyer" (input type submit), sinon, ton formulaire risque pas d'être posté au serveur :/
 
<input type="hidden" name="lechoix" value=""/>  sert à rien et en plus, t'as pas le droit de donner le même name que ton select.
 
POur faire l'envoi de la valeur sélectionnée sans clic sur bouton "envoyer", faut du javascript : une petite fonction appelée sur l'événement "onchange" du select.
 
ps : avant de commencer à faire du php/html/js/sql (client/serveur), ça serait bien de comprendre le html... Là, manifestement tu n'as pas les bases...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed