Récupérer la valeur d'une liste déroulante

Slylia Messages postés 64 Statut Membre -  
sapma Messages postés 174 Statut Membre -
Bonjour à tous,

J'ai fais un programme de recherche et je souhaite afficher le document correspondant à la recherche.
Le principe est simple, l'utilisateur entre un numéro de série et choisis l'année dans une liste déroulante. Ensuite mon programme effectue des contrôles pour vérifier les informations et il affiche la liste des résultats correspondant. L'utilisateur clique sur un bouton radio pour choisir le document à afficher et celui-ci apparaît.
Voila la liste de mes pages :
Le formulaire de recherche
<form name="form1" method="POST" action="NumSerie.php"> 
  <div id="corp"> 
<div id="right"> 
        <div id="contenu-right"> 
        <h3>Recherche</h3> 
                <table> 
                           Si un équipement n'a pas de numéro de série, tapez 00000. 

       <tr> 
                                <td> 
                                Numéro de série  : </td><td><input type="text" name="NumSerie" maxlength=5/> 
                                </td> 
                        </tr> 
                        <tr> 
                                <td> 
        Année :  
        <select name="Annee" id="Annee"> 
         <option value="1991">1991</option> 
         <option value="1992">1992</option> 
         <option value="1993">1993</option> 
         <option value="1994">1994</option> 
         <option value="1995">1995</option> 
         <option value="1996">1996</option> 
         <option value="1997">1997</option> 
         <option value="1998">1998</option> 
         <option value="1999">1999</option> 
         <option value="2001">2001</option> 
        </select>     
        </td> 
      </tr> 
            <tr> 
                        <tr> 
                                <td> 
                                <input type="submit" value="Valider" name="Valider"/> 
                                </td> 
                                <td> 
                                <input type="reset" value="Annuler" name="Annuler"/> 
                                </td> 
                        </tr> 
                        </table> 
         
      </div> 
</div> 
</div> 
</form>


Le contrôle des informations
<form name="form2" method="POST" action="visu.php" target="_blank"> 
<h3>Recherche</h3> 

Le nom du fichier PDF est NumeroCommande_s_NumeroSerie_an_Annee.pdf 
<br> 
<br> 
<?php 
 $NumSerie  = $_POST['NumSerie']; 
 $Annee = $_POST['Annee']; 

if ($NumSerie == NULL) { //on regarde si le numéro de série est nul 
 echo "Erreur, le numéro de série doit être renseigné !"; 
 echo "<br>"; 
 } 

if (!preg_match ("(^[0-9]*$)", $NumSerie)) { //on regarde le type de caractères 
  echo "Le numéro de série ne doit contenir que des chiffres !"; 
  echo "<br>"; 
 } 
  
if ((preg_match ("(^[0-9]*$)", $NumSerie)) && ($NumSerie != NULL)) { 
foreach (new DirectoryIterator('C:/wamp/www/nouvelle_recherche/PDF/'.$Annee.'') as $fileInfo) { //$Annee correspond au sous-répertoire 
    if($fileInfo->isDot()) continue; 
  $nom_fic = $fileInfo->getFilename(); // $nom_fic correspond au nom du fichier 
  $posS = strrpos($nom_fic, "s_"); // trouve la position de s_ 
  $posAn = strrpos($nom_fic, "_an"); // trouve la position de _an 
  $longChaine = $posAn - $posS; // différence entre $posAn et $posS 
  $champ = substr($nom_fic,$posS, $longChaine); // on récupère le champ entre $posS et $longChaine 
   
   if (strstr($champ,$NumSerie)) { // on regarde si le champ contient le numéro de série 
    echo "<input type=\"radio\" name=\"Choix\" value=\"".$nom_fic."\">"; //on affiche un bouton radio à chaque résultat 
    echo $nom_fic."<br>"; // on affiche les lignes correspondant à la recherche 
   } 
 }  
 echo "<br>"; 
 ?> 
 <input type="submit" value="Envoi" name="Envoi"/> 
 <?php 
} 
?>   
                
   <input type="button" value="Retour" onclick="history.go(-1)">  <!-- On retourne à la page d'avant --> 

 </form>   
</body>


Et l'affichage du résultat
<body> 
<h3>Recherche</h3> 
<?php 
$Choix  = $_POST['Choix']; 
?> 
<object data="http://localhost/nouvelle_recherche/PDF/<?php echo $Annee ?>/<?php echo $Choix ?>" type="application/pdf" width="600" height="900"> <!-- On choisit d'insrer dans la page le document PDF --> 
  alt : <a href="http://localhost/nouvelle_recherche/PDF/<?php $Annee ?>/<?php echo $Choix ?>">http://localhost/nouvelle_recherche/PDF/<?php echo $Annee ?>/<?php echo $Choix ?></a> <!-- On affiche le document correspondant  la recherche --> 
</object> 
</body>


Mon problème est le suivant, mes documents PDF sont répartis dans différents dossiers qui sont classés par année. Je souhaite que l'utilisateur choisisse l'année, que ma recherche s'éffectue dans le dossier correspondant et que le document PDF choisis s'affiche.
Seulement, quand j'effectue mon programme c'est ce message qui apparaît :
alt : http://localhost/nouvelle_recherche/PDF/
Notice: Undefined variable: Annee in C:\wamp\www\nouvelle_recherche\visu.php on line 20
/14813_s_10221_an_1999.pdf

Je ne comprends pas pourquoi il ne veut pas reconnaître l'année.

Pouvez-vous m'aider ? J'ai effectué plusieurs tests en mettant une année et ça fonctionne, par contre dès que je mets la variable ça ne fonctionne pas.

Merci d'avance pour votre aide.

1 réponse

sapma Messages postés 174 Statut Membre 5
 
Peut être c'est ça :

remplace
alt : <a href="http://localhost/nouvelle_recherche/PDF/<?php $Annee ?>

par
alt : <<a href="http://localhost/nouvelle_recherche/PDF/<?php
echo $Annee ?>

Ajout de echo.
0