Creer sur la meme page un formulaire de recherche fixe et les resul

Creer sur la meme page un formulaire de recherche fixe et les resul - PHP - Programmation

Marsh Posté le 26-01-2009 à 14:23:30    

bjr
 
j'espere que j'arriverais a me faire comprendre, j'aimerais creer ceci:
 
sur une meme page: en haut le formulaire de recherche qui est fixe et en bas le resultat de la recherche qui possedera a sa droite une barre qui permettra de faire descendre ou monter la recherche (la cest peut etre dans le code css que je peux trouver ca).
 
donc sur ma page j'aurais "2 rectangles" ,un en haut qui sera fixe(c 'est a dire qui ne bougera pas une fois la recherche lancée) et qui contiendra le formulaire, et un autre rectangle en dessous du 1er qui lui contiendra la recherche demandée...
 
j'espere que j'ai ete assez clair...
 
Pourriez vous m'aider svp?...merci

Reply

Marsh Posté le 26-01-2009 à 14:23:30   

Reply

Marsh Posté le 26-01-2009 à 14:37:22    

Bonjour,
 
Sais tu déjà faire la requete de ta recherche et afficher les résultats?

Reply

Marsh Posté le 26-01-2009 à 14:41:04    

bjr et merci pour la reponse
 
oui je l'ai fait mais tout passe mais il ya comme meme un souci que j'ai exposé sur le forum
 
http://forum.hardware.fr/hfr/Progr [...] 0695_1.htm
 
qu'en penses tu stp?

Reply

Marsh Posté le 26-01-2009 à 15:08:47    

Ton code n'est pas super lisible sur l'autre post, essaye de mettre les balises ["code=php"]     ["/code"] en enlevant les "

 


Bon d'après ce que je vois tu utilise la méthode POST pour envoyer les données de ton formulaire.

 

Voilà comment je m'y prend:

 
Code :
  1. if(isset($_POST['element1']))//Si l'element1 est posté autrement dit si le formulaire est validé..
  2.  
  3.             {
  4.  
  5.             $element1 = $_POST['element1'];
  6.  
  7.             $element2 = $_POST['element2'];
  8.  
  9.             ......
  10.             }
  11.  
  12. //ensuite du met le code de ton formulaire
  13.  
  14.  
  15.  
  16. FORMULAIRE
  17.  
  18.  
  19.  
  20. //et tu affiche les resultats que si le formulaire a été validé:
  21.  
  22. if(isset($_POST['element1']))
  23. {
  24. //les resultats ici
  25.  
  26. }
  27. else
  28. {
  29. //si le formulaire n'a pas été validé ca n'affichera pas les resultats
  30. }
 

J'espère que ca t'aide


Message édité par aspirateur le 26-01-2009 à 15:08:56
Reply

Marsh Posté le 26-01-2009 à 15:18:47    

merci mais je ne pense pas que ca soit vraiment ca que je souhaite avoir
j'ai du me faire mal comprendre...EXCUSES MOI
 
l'affichage que tu me donnes (il me semble) est identique au mien c'est a dire page d'accueil formulaire, on valide si formulaire rempli et ensuite affichage du resulat  
 
moi j'aimerai que le formulaire avec recherche (c'est a dire resultat de la recherche ) ou pas qu'il reste fixe en haut de l'ecran et qu'en dessou on ait le resultat de la recherche qui en plus aurait une barre defilente a droite...

Reply

Marsh Posté le 26-01-2009 à 15:47:34    

En fait tu veux juste de la mise en forme. Dans ce cas c'est du css qu'il te faut.
 
tu fais un div avec ton formulaire et un autre qui autorise les barres de défilement avec la réponse.
 

Reply

Marsh Posté le 26-01-2009 à 16:12:57    

aspirateur merci!!!
 
J'avais un doute en fait j'ai pensé au css mais etant noviste en php je me suis dit qu'il y avait peut etre une fonction qui le fesait...ok donc 2 div je fais ca et je te capte demain pour te dire ce que cela a donné...merci encore et bonne soiree

Reply

Marsh Posté le 26-01-2009 à 16:41:33    

Si tu veux un tuto pas mal pour apprendre le css va voir la:
http://www.siteduzero.com/tutoriel [...] e-web.html
 

Reply

Marsh Posté le 27-01-2009 à 14:05:17    

bjr
 
je me suis servie de ce site pour apprendre le css/html et le php, tres bon site!
hier soir j'ai untilisé les balises <div></div> ca marche j'ai ce que je voulais... :)  
 
Merci encore a toi aspirateur!!!
 
derniere question stp
 
  Dans mon formulaire si l'utilisateur tape son mot a rechercher en majuscule ou en minuscule, j'aimerais recuperrer le fichier, correspondant a la demande de l'utilisateur, que le fichier soit en majuscule ou en minuscule...comment puis je faire stp

Reply

Marsh Posté le 27-01-2009 à 14:09:14    

Le nom de ton fichier est en majuscule ou en minuscule?

Reply

Marsh Posté le 27-01-2009 à 14:09:14   

Reply

Marsh Posté le 27-01-2009 à 15:11:20    

les 2 , ce genre en fait
SEC09_CA_COU_116_Je suis la_181208
SEC09_CA_COU_116_Je suis la Madame paule_181208
SEC09_CA_COU_116_j'ai envi d'un Poulet ROTI_181208
 
(la j'ai vraiment mis tout et n'importe quoi!!!)
 
mon idee est de mettre le formulaire donc$_POST [''] en minuscule (meme si l'utilisteur tape en majuscule) et le nom de fichier idem en minuscule
 
j'ai utilise "strtolower" c'est a dire que j'ai converti les $_POST mais ca passe pas lorsque l'utilisateur tape en majuscule (je sais c'est logique) donc je mets strtoupper j'ai le meme pb quand l'utilisateur se decide de taper en minuscule  
 
que faire?

Reply

Marsh Posté le 27-01-2009 à 15:42:42    

essse a écrit :

les 2 , ce genre en fait
SEC09_CA_COU_116_Je suis la_181208
SEC09_CA_COU_116_Je suis la Madame paule_181208
SEC09_CA_COU_116_j'ai envi d'un Poulet ROTI_181208
 
(la j'ai vraiment mis tout et n'importe quoi!!!)
 
mon idee est de mettre le formulaire donc$_POST [''] en minuscule (meme si l'utilisteur tape en majuscule) et le nom de fichier idem en minuscule

j'ai utilise "strtolower" c'est a dire que j'ai converti les $_POST mais ca passe pas lorsque l'utilisateur tape en majuscule (je sais c'est logique) donc je mets strtoupper j'ai le meme pb quand l'utilisateur se decide de taper en minuscule

 
que faire?


Tu veux dire que si tu fais:
 
$test = strtolower($_POST['test']);
 
$test reste en majuscule???  
Si tu veux que la valeur de POST soit en minuscule c'est pourtant ce qu'il faut faire.
 

Reply

Marsh Posté le 27-01-2009 à 15:48:44    

Il veut dire qu'il change la casse des noms de fichiers mais pas de ce qui est saisie par l'utilisateur.
 
essse > SI tu veux une comparaison en majuscule ou en majuscule alors il faut forcer la casse (tout en majuscule ou tout en minuscule) des deux côtés.

Reply

Marsh Posté le 27-01-2009 à 16:04:19    

non c'est pas ce que je veux dire  
 
lorsque je mets le POST en minuscule et que l'utilisateur tape en majuscule quest ce qui se passe?
 
et si une fois le POST tapee en minuscule, le nom du fichier est en majuscule ca ne passe pas(a part si je me trompe)
 
mon souhait est que meme si l'utilisateur tape en majuscule ou minuscule le fichier soit trouvé qu'il soit lui meme en  majuscule ou minuscule
 
est possible stp?

Reply

Marsh Posté le 27-01-2009 à 16:18:55    

En gros si le fichier s'appelle "MONFichier"
Tu veux que l'utilisateur puisse y acceder en tapant "monfichier" ou "MONFICHIER" ou encore "MoNfIcHIER", c'est ca?
 
Le nom des fichier est stocké quelque part?

Reply

Marsh Posté le 27-01-2009 à 16:35:52    

omega2 merci pour ta reponse
 
 je l'ai fait qui logiquement comme tu le penses devrait marcher mais ca marche pas donc...ca doit etre moi qui est mal ecrit mon code bref je vous l'envoie svp ...j'en ai deja des maux de tete  
 
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3. <link rel="stylesheet" type="text/css" title="site2" href="site2.css" />
  4.     
  5.  
  6.    <head>
  7.     </head>
  8.      <body>
  9.     
  10.     
  11.       <div id="formulaire">
  12.         
  13. <p>    
  14. Indication sur la nomenclature:
  15.     
  16.      <form action= "new2.php" method="post">
  17.              <p>
  18.              <select name = "position1"/><option value="1">Corps administratif du courrier</option>
  19.              <option value="09">09</option>
  20.              <option value="11">11</option>
  21.              <option value="12">12</option>
  22.              <option value="13">13</option>
  23.              <option value="15">15</option>
  24.              <option value="17">17</option>
  25.              <option value="22">22</option>
  26.              <option value="23">23</option>
  27.              <option value="35">25</option>
  28.              <option value="26">26</option>
  29.              <option value="28">28</option>
  30.              <option value="29">29</option>
  31.              <option value="31">31</option>
  32.              <option value="32">32</option>
  33.              <option value="41">41</option>
  34.              <option value="42">42</option>
  35.              <option value="43">43</option>
  36.              <option value="51">51</option>
  37.              <option value="52">52</option>
  38.              <option value="53">53</option>
  39.             <option value="61">61</option>
  40.              <option value="62">62</option>
  41.             <option value="64">64</option>
  42.             <option value="65">65</option>
  43.             <option value="66">66</option>
  44.             <option value="67">67</option>
  45.             <option value="68">68</option>
  46.             <option value="69">69</option>
  47.             <option value="71">71</option>
  48.             <option value="74">74</option>
  49.             <option value="81">81</option>
  50.             <option value="82">82</option>
  51.             <option value="83">83</option>
  52.             <option value="84">84</option>
  53.             <option value="">91</option>
  54.             <option value="39">93</option>
  55.             <option value="40">96</option>
  56.              </select>
  57.            
  58.  
  59.              <select name = "position2"/><option value="2">Type de courrier</option>
  60.               <option value="avb">AVB: Avances du budget</option>
  61.               <option value="cou">COU: Courrier général</option>
  62.               <option value="dpb">DPB: Demande de poste budgétaire</option>
  63.               <option value="ldd">LDD: Lettre de décaissement</option>
  64.               <option value="str">STR: Soit-transmis</option>
  65.               <option value="trc">TRC: Transfert de crédits</option>
  66.              <option value="mad">MAD: Mise à disposition</option>
  67.  
  68. </option></select>
  69.               
  70.               
  71.             <select name = "position3"/><option value="3">Reference du courrier</option></select>
  72.              <select name = "position4"/><option value="4">Objet du courrier</option></select>
  73.              <select name = "position5"/><option value="5">Date du Courrier</option></select>
  74. </p>
  75. <P>
  76.  
  77. Recherche du fichier :
  78.  
  79.  
  80.          <p>Corps administratif     : <input type ="text" name= "section" /> </P>            
  81.              <p>Type de courrier        : <input type ="text" name= "type"  /> </p>
  82.              <p>Reference du courrier: <input type ="text" name= "reference" /></p>
  83.              <p>Objet du courier   : <input type ="text" name= "objet" />   </p>          
  84.             <p>Date du courier (jjmmaa)   : <input type ="text" name= "date" />   </p>          
  85.  
  86.  
  87.  
  88.              <input type ="submit" value ="validez" />
  89.               <input type="reset" value="effacez"/>
  90.             
  91.             
  92.              </form>
  93.              </p>            
  94.             
  95.      </div>
  96.  
  97.      <div id="resultat">
  98.     
  99.     <?php
  100.     
  101.      
  102.         
  103.       if ((isset($_POST['section'])) and (isset($_POST['type'])) and (isset($_POST['reference'])) and (isset($_POST['objet']))
  104.           and (isset($_POST['date'])))
  105.          
  106.                  // si les variables existent
  107.  
  108.            {
  109.               $_post['section'] = $section ;
  110.              $_post['type']= $type ;
  111.              $_post['reference'] = $reference ;
  112.              $_post['objet']= $objet ;
  113.              $_post['date'] = $date ;
  114.  
  115.               $position1 = 0;
  116.              $position2 = 1 ;
  117.               $position3 = 2 ;
  118.               $position4 = 3 ;
  119.               $position5 = 4 ;
  120.       
  121.     
  122.         
  123.              $dossier = 'Courrier/' ;
  124.              $list = scandir($dossier); //scan le dossier Courrier
  125.              foreach ($list as $file) //identique a for mais specifié au tableau
  126.                 { $divfichier = explode('_',$file);
  127.             
  128.                   $file = strtolower ($file);
  129.                   $file = strtolower ($file);
  130.                  $file = strtolower ($file);
  131.                  $file=  strtolower ($file);
  132.                   $file = strtolower ($file);
  133.                   
  134.                   $section = strtolower ($_POST['$section']);
  135.                   $type = strtolower ($_POST['$type']);
  136.                  $reference = strtolower ($_POST['$reference']);
  137.                  $objet = strtolower ($_POST['$objet']);
  138.                   $date = strtolower ($_POST['$date']);
  139.                 
  140.                   
  141.           
  142.                   if((preg_match('`'.$_POST['section'].'`', $divfichier[0])) AND
  143.                      (preg_match('`'.$_POST['type'].'`', $divfichier[1])) AND
  144.                      (preg_match('`'.$_POST['reference'].'`', $divfichier[2])) AND
  145.                      (preg_match('`'.$_POST['objet'].'`', $divfichier[3])) AND
  146.                      (preg_match('`'.$_POST['date'].'`', $divfichier[4])))
  147.                    {
  148.                      echo '<a href="'.$file.'">'.$file.'</a><br/>';
  149.                  
  150.                 }
  151.                 
  152.              }
  153.            }
  154.              else // Les variables section et autres n'existent pas encore mais validez existe alors
  155.              
  156.                
  157.                { echo $section = "";
  158.                  echo $type = "";
  159.                  echo $reference = "";
  160.                   echo $objet = "";
  161.                  echo $date = "";            
  162.                 }
  163.               
  164.               
  165.             
  166.  
  167.  
  168. ?>
  169.  
  170.      </div>
  171.     
  172.     
  173.         
  174.         
  175.  
  176.              </body>
  177.              </html>


 
lorsuqe je tape un POST en majuscule ca passe mais lorsque je tape en maujuscule ca ne passe ...c'est vraiment bisare ne me dite pas quil faut mettre le texte en majuscule?
 
je suis nouvelle en php et je n'ai pas limpression que mon code soit propre pourriez vous voir cela svp...merci

Reply

Marsh Posté le 27-01-2009 à 16:38:21    

paardon je voulais dire POST ecrit en majuscule ca passe mais quand ecrit en minuscule ca passe pas...la je sens la fatigue

Reply

Marsh Posté le 27-01-2009 à 16:45:49    

@aspirateur oui c'est ca!!!!!!!!!

Reply

Marsh Posté le 27-01-2009 à 16:54:23    

[quotemsg=1843735,16,596991]
 

Code :
  1. <div id="resultat">
  2.     
  3.     <?php
  4.     
  5.      
  6.         
  7.       if ((isset($_POST['section'])) and (isset($_POST['type'])) and (isset($_POST['reference'])) and (isset($_POST['objet']))
  8.           and (isset($_POST['date'])))
  9.          
  10.                  // si les variables existent
  11.  
  12.            {
  13.               $_post['section'] = $section ; //que vaut $section ???? et tes "post" sont en minuscule $_POST est toujours en majuscule je pense que tu veux ecrire $section= $_POST['section'];
  14.              $_post['type']= $type ; //idem
  15.              $_post['reference'] = $reference ;
  16.              $_post['objet']= $objet ;
  17.              $_post['date'] = $date ;
  18.  
  19.               $position1 = 0;
  20.              $position2 = 1 ;
  21.               $position3 = 2 ;
  22.               $position4 = 3 ;
  23.               $position5 = 4 ;
  24.       
  25.     
  26.         
  27.              $dossier = 'Courrier/' ;
  28.              $list = scandir($dossier); //scan le dossier Courrier
  29.              foreach ($list as $file) //identique a for mais specifié au tableau
  30.                 { $divfichier = explode('_',$file);
  31.             
  32.                   $file = strtolower ($file);
  33.                   $file = strtolower ($file);
  34.                  $file = strtolower ($file);
  35.                  $file=  strtolower ($file);
  36.                   $file = strtolower ($file);
  37.                   
  38.                   $section = strtolower ($_POST['$section']); // ca va pas la..... c'est quoi la valeur de $_POST['$section'] ??? Y'a pas un $ de trop?
  39.                   $type = strtolower ($_POST['$type']);
  40.                  $reference = strtolower ($_POST['$reference']);
  41.                  $objet = strtolower ($_POST['$objet']);
  42.                   $date = strtolower ($_POST['$date']);
  43.                 
  44.                   
  45.           
  46.                   if((preg_match('`'.$_POST['section'].'`', $divfichier[0])) AND
  47.                      (preg_match('`'.$_POST['type'].'`', $divfichier[1])) AND
  48.                      (preg_match('`'.$_POST['reference'].'`', $divfichier[2])) AND
  49.                      (preg_match('`'.$_POST['objet'].'`', $divfichier[3])) AND
  50.                      (preg_match('`'.$_POST['date'].'`', $divfichier[4])))
  51.                    {
  52.                      echo '<a href="'.$file.'">'.$file.'</a><br/>';
  53.                  
  54.                 }
  55.                 
  56.              }
  57.            }
  58.              else // Les variables section et autres n'existent pas encore mais validez existe alors
  59.              
  60.                
  61.                { echo $section = ""; // les echo sont en trop
  62.                  echo $type = "";
  63.                  echo $reference = "";
  64.                   echo $objet = "";
  65.                  echo $date = "";            
  66.                 }
  67.               
  68.               
  69.             
  70.  
  71.  
  72. ?>


 
Je t'ai mis quelques commentaires.
 
Je suis un peu crevé la, essaye de me répondre sur mes commentaires.

Reply

Marsh Posté le 27-01-2009 à 17:01:40    

Code :
  1. { $divfichier = explode('_',$file);               
  2.   $file = strtolower ($file);
  3.   $file = strtolower ($file);
  4.   $file = strtolower ($file);
  5.   $file=  strtolower ($file);
  6.   $file = strtolower ($file);
  7.                      
  8. ...                     
  9.              
  10.   if((preg_match('`'.$_POST['section'].'`', $divfichier[0])) AND 
  11. ...

[:atlantis] heu ... Ca serait peut être une bonne idée de mettre en minuscule le contenu de $divfichier ou si tu veux mettre le nom du fichier en minuscule, fait le avant d'avoir créer $divfichier. [:airforceone]


Message édité par omega2 le 27-01-2009 à 17:02:26
Reply

Marsh Posté le 29-01-2009 à 11:21:20    

bjr et merci a vous!!!
 
j'ai revu le code et j'ai pris en compte vos subjections voici ce que ca donne, qu'en dites vous svp?
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3. <link rel="stylesheet" type="text/css" title="site2" href="site2.css" />
  4. <head>
  5. </head>
  6. <body>
  7.     
  8. <div id="formulaire">
  9.             
  10.     Recherche des fichiers:
  11.     
  12.      <form action= "new2.php" method="post">
  13.             
  14.              <p>Corps administratif     : <input type ="text" name= "section" /> </P>            
  15.              <p>Type de courrier        : <input type ="text" name= "type"  /> </p>
  16.              <p>Reference du courrier: <input type ="text" name= "reference" /></p>
  17.              <p>Objet du courier   : <input type ="text" name= "objet" />   </p>  
  18.             <p>Date du courier (jjmmaa)   : <input type ="text" name= "date" />   </p>          
  19.             <p>Date approximative du courier (jjmmaa)   : <input type ="text" name= "date" />   </p>      
  20.  
  21.              <input type ="submit" name ="validez" value ="validez" />
  22.              <input type="reset" value="effacez"/>
  23.             
  24.         </form>                         
  25. </div>
  26.  
  27. <div id="resultat">
  28.     
  29.     <?php
  30.     // si les POST existent
  31.     
  32.     if ((isset($_POST['section']))){
  33.         if (isset($_POST['type'])) {
  34.             if(isset($_POST['reference'])) {
  35.                 if (isset($_POST['objet'])) {
  36.                     if (isset($_POST['date'])) {
  37.                         //if (isset($_POST['dateAproxi'])) {
  38.                 
  39.     // alors on cree les variables correspondante
  40.  
  41.                $section  = $_POST['section'];
  42.              $type = $_POST['type'];
  43.               $reference = $_POST['reference'];
  44.               $objet = $_POST['objet'];
  45.                $date = $_POST['date'];
  46.               //$_POST['dateAproxi'] = $dateAproxi ;
  47.  
  48.     // jeu de majuscule avec les POST
  49.  
  50.                $section = strtoupper ($_POST['section']);
  51.                $type = strtoupper ($_POST['type']);
  52.               $reference = strtoupper ($_POST['reference']);
  53.               $objet = strtoupper ($_POST['objet']);
  54.                $date = strtoupper ($_POST['date']);
  55.               //$dateAproxi = strtoupper ($_POST['$dateAproxi']);
  56.  
  57.   // on traite le formulaire en ouvrant le dossier et en entrant dans la fonction
  58.     
  59.                $dossier = 'Courrier/' ;
  60.                $list = scandir($dossier);
  61.                foreach ($list as $file) //identique a for mais specifié au tableau
  62.                  {     
  63.                     $file = strtoupper ($file); // jeu de majuscule avec les fichiers
  64.                     $divfichier = explode('_',$file); //on decoupe les fichiers
  65.                     
  66.                     if(preg_match('`'.$_POST['section'].'`', $divfichier[0])) {
  67.                         if(preg_match('`'.$_POST['type'].'`', $divfichier[1]))  {
  68.                             if(preg_match('`'.$_POST['reference'].'`', $divfichier[2])) {
  69.                                 if(preg_match('`'.$_POST['objet'].'`', $divfichier[3]))  {
  70.                                     if(preg_match('`'.$_POST['date'].'`', $divfichier[4])){
  71.                     
  72.                                       echo '<a href="'.$file.'">'.$file.'</a><br/>';
  73.                                   }
  74.                                 }
  75.                             }
  76.                         }
  77.                     }
  78.                  }                    
  79.               }
  80.            }
  81.         }
  82.       }
  83.     }  else  
  84.          {
  85.           }    ?>                   
  86. </div>
  87. </body>
  88. </html>

Reply

Marsh Posté le 29-01-2009 à 11:24:42    

comme je te l'ai dit dans l'autre sujet :
pas de IF imbriqués, utilise AND ou &&
utilise strpos

Reply

Marsh Posté le 29-01-2009 à 11:25:08    

@aspirateur stp as tu trouver quelque chose pour mon souci de majuscule minuscule tu avais compris ce que je voulais...
mes fichiers sur le c:/ dans mon WAMPserveur
 
"En gros si le fichier s'appelle "MONFichier"
Tu veux que l'utilisateur puisse y acceder en tapant "monfichier" ou "MONFICHIER" ou encore "MoNfIcHIER", c'est ca?"
 

Reply

Marsh Posté le 29-01-2009 à 11:30:05    

bjr lus@s j'ai vu ton message et je suis entrain de refaire le code avec tes modifs mais souci
 
j'avais d'abord des and ce qui me paraissait pas logique  puisque si je ne mets qu'un seul caractere j'ai le resultat mais d'apres le code je ne devrais pas...(ou je me trompe)
 
je fais le code avec strpos et je capte stp

Reply

Marsh Posté le 29-01-2009 à 11:34:41    

autre chose : à la fin de ton code tu as :

Code :
  1. else
  2.   {
  3.   }

Enlève le, tu as du oublié de l'enlever, il ne sert à rien.


Message édité par Profil supprimé le 29-01-2009 à 11:35:20
Reply

Marsh Posté le 29-01-2009 à 11:45:07    

essse a écrit :

@aspirateur stp as tu trouver quelque chose pour mon souci de majuscule minuscule tu avais compris ce que je voulais...

Ha ça vaut la peine d'indiquer ce qui ne va pas. :sarcastic: T'as lu mon message au moins?

Reply

Marsh Posté le 29-01-2009 à 11:49:03    

@omega2 oui j'ai lu
 
j'ai fait comme tu as propose
1/j'ai mais $divfichier en majuscule juste apres le "$divfichier=  explode" mais une fois lance les recherches ne se font plus;
2/avant le divfichier (juste au dessus) j'ai mis le fichier en majuscule
 

Message cité 1 fois
Message édité par essse le 29-01-2009 à 11:54:12
Reply

Marsh Posté le 29-01-2009 à 11:50:44    

J'en conclus donc que ton problème de majuscule/minuscule est réglé.

Reply

Marsh Posté le 29-01-2009 à 11:50:50    

essse a écrit :

@omega2 oui j'ai lu
 
j'ai fait comme tu as propose
j'a


 :heink:

Reply

Marsh Posté le 29-01-2009 à 11:58:05    

sorry j'ai repis le message  
 
non c'est pas regle ce n'est pas ce que je veulais...revoies la reponse de @aspirateur du 27-01-2006 a 16:18:55 stp je ne sais pas comment on fait pour reprendre la reponse de quelqu'un dautre

Reply

Marsh Posté le 29-01-2009 à 13:27:58    

Salut!

 

Pour ton problème de nom en miniscule / majuscule c'est un peu compliqué.

 

En gros il faut que tu compare le nom du fichier en minuscule au nom du fichier souhaité.

 

Si tu préfère:
Je tappe "MonFichier" pour obtenir le fichier qui s'appelle "MONFICHIER".
Il faut alors comparer la valeur de strtoupper ("MonFichier" ) avec la valeur de  strtoupper ("MONFICHIER" ).

 

tu comprends ce que je veux dire? Est ce que tous les fichiers sont dans le meme repertoire?

 


EDIT: +1000 pour enlever ces if imbriqués... Allez au boulot ;)


Message édité par aspirateur le 29-01-2009 à 13:29:03
Reply

Marsh Posté le 30-01-2009 à 10:07:23    

bjr aspirateur
 
1/oui les fichiers sont dans le meme repertoire j'ai utilise strtoupper mais rien a faire ca ne fonctionne pas bien c'est a dire que lorsque jecris dans le $_POST en minuscule il ne renvoie rien alors que je pensais que j'ecrive en majuscule ou en minuscule le strtoupper , me le reecrit en majuscule c'est pas le cas...
 
2/que veux tu dire par EDIT:+1000pour enlever ces if imbriques...stp que dois faire

Reply

Marsh Posté le 30-01-2009 à 10:22:42    

essse a écrit :

bjr aspirateur
 
1/oui les fichiers sont dans le meme repertoire j'ai utilise strtoupper mais rien a faire ca ne fonctionne pas bien c'est a dire que lorsque jecris dans le $_POST en minuscule il ne renvoie rien alors que je pensais que j'ecrive en majuscule ou en minuscule le strtoupper , me le reecrit en majuscule c'est pas le cas...
 
2/que veux tu dire par EDIT:+1000pour enlever ces if imbriques...stp que dois faire


 
Enleve tout les if imbriqués. Utilise les AND ton code sera un peu plus clair.
 
Pour le strtoupper c'est bien ca:
si $_POST['test'] = "sAlut COMMent ca vA?"
et que tu écrit:
$test = strtoupper ($_POST['test']);
 
La valeur de $test est "SALUT COMMENT CA VA?"

Reply

Marsh Posté le 30-01-2009 à 10:34:03    

question stp?
 
en mettant des AND cela ne veut il pas dire que  SI (POST_section = divfichier[0] ET que POST_type = divfichier[1] ET que POST_reference = divfichier[2] ET que POST_objet = divfichier[3] ET que POST_date = divfichier[4]  ) ALORS on ecrit le fichier  
 
donc si je ne remplis pas le POST_section le reste ne devrait pas passer d'apres le code n'est pas?
 
donc comment expliques tu stp que lorsque je ne remplis pas POST_section le code fonctionne?

Reply

Marsh Posté le 30-01-2009 à 10:45:16    

Ca marche très bien:
 
Essaye ce code, tu verra. Au passage j'ai mis des AND aux if
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2.    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3.    <link rel="stylesheet" type="text/css" title="site2" href="site2.css" />
  4.    <head>
  5.    </head>
  6.    <body>
  7.        
  8.    <div id="formulaire">
  9.                
  10.        Recherche des fichiers:
  11.        
  12.         <form action= "" method="post">
  13.                
  14.                 <p>Corps administratif     : <input type ="text" name= "section" /> </P>            
  15.                 <p>Type de courrier        : <input type ="text" name= "type"  /> </p>
  16.                 <p>Reference du courrier: <input type ="text" name= "reference" /></p>
  17.                 <p>Objet du courier   : <input type ="text" name= "objet" />   </p>  
  18.                <p>Date du courier (jjmmaa)   : <input type ="text" name= "date" />   </p>          
  19.                <p>Date approximative du courier (jjmmaa)   : <input type ="text" name= "date" />   </p>      
  20.    
  21.                 <input type ="submit" name ="validez" value ="validez" />
  22.                 <input type="reset" value="effacez"/>
  23.                
  24.            </form>                          
  25.    </div>
  26.    
  27.    <div id="resultat">
  28.        
  29.        <?php
  30.        // si les POST existent
  31.        
  32.        if ((isset($_POST['section'])) AND (isset($_POST['type'])) AND (isset($_POST['reference'])) AND (isset($_POST['objet'])) AND (isset($_POST['date'])))
  33.         {
  34.                            //if (isset($_POST['dateAproxi'])) {
  35.                    
  36.            
  37.        // jeu de majuscule avec les POST
  38.    
  39.                   $section = strtoupper ($_POST['section']);
  40.                   $type = strtoupper ($_POST['type']);
  41.                  $reference = strtoupper ($_POST['reference']);
  42.                  $objet = strtoupper ($_POST['objet']);
  43.                   $date = strtoupper ($_POST['date']);
  44.              
  45.             
  46.             Echo " $section $type $reference $objet  $date";
  47.         
  48.      // on traite le formulaire en ouvrant le dossier et en entrant dans la fonction
  49.                    
  50.                     
  51.                     //suite de ton code
  52.                  }
  53.   ?>                    
  54.    </div>
  55.    </body>
  56.    </html>

Reply

Marsh Posté le 30-01-2009 à 11:20:50    

as tu essayer de faire entrer un POST en minuscule stp est ce que ca fonctionne?
 
1/lorsque tu rentres en POST en majuscule oui ca fonctionne mais lorsqu'il est entre en minuscule est ce que ca passe chez toi?chez moi non et c'est la qu'est le pb
 
2/je sais que je suis nouvelle en php mais question? tous ces AND sont ils coherents?ca passe oui je l'ai deja fait mais est ce coherent c'est la question que je me pose
 
j'ai remplacé les if POST... par un seul if POST_VALIDEZ  et ca passe. Question stp ai je le droit de faire un isset sur validez?est ce coherent moi je le pense mais je peux me tromper...
 
en fait mon gros souci est que je veux que mon code soit coherent qu'il fonctionne oui mais qu'il soit coherent et ces AND ne le sont pas et j'ai toujours ce souci de majuscule/minuscule
 
voici ce que j'ai refait

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  3. <link rel="stylesheet" type="text/css" title="site2" href="site2.css" />
  4. <head>
  5. </head>
  6. <body>
  7.     
  8. <div id="formulaire">
  9.             
  10.     Recherche des fichiers:
  11.     
  12.      <form action= "new2.php" method="post">
  13.             
  14.              <p>Corps administratif     : <input type ="text" name= "section" /> </P>            
  15.              <p>Type de courrier        : <input type ="text" name= "type"  /> </p>
  16.              <p>Reference du courrier: <input type ="text" name= "reference" /></p>
  17.              <p>Objet du courier   : <input type ="text" name= "objet" />   </p>  
  18.             <p>Date du courier (jjmmaa)   : <input type ="text" name= "date" />   </p>          
  19.  
  20.              <input type ="submit" name ="validez" value ="validez" />
  21.              <input type="reset" value="effacez"/>
  22.             
  23.         </form>                         
  24. </div>
  25.  
  26. <div id="resultat">
  27.     
  28.     <?php
  29.     
  30.     if (isset($_POST['validez'])){
  31.     
  32.                 
  33.     // alors on cree les variables correspondante
  34.  
  35.                $section = "";
  36.              $type = "";
  37.               $reference = "";
  38.               $objet = "";
  39.                $date = "";
  40.  
  41.     // jeu de majuscule sur les POST
  42.  
  43.                $section = strtoupper($section);
  44.                $type = strtoupper($type);
  45.               $reference = strtoupper($reference);
  46.               $objet = strtoupper($objet);
  47.                $date = strtoupper($date);
  48.  
  49.   // on traite le formulaire en ouvrant le dossier et en entrant dans la fonction
  50.     
  51.                $dossier = 'Courrier/' ;
  52.                $list = scandir($dossier);
  53.                foreach ($list as $chaine) //identique a for mais specifié au tableau
  54.                  {     
  55.                     $chaine = strtoupper ($chaine); // jeu de majuscule sur les fichiers
  56.                     $divfichier = explode('_',$chaine); //on decoupe les fichiers
  57.                     
  58.                     if (preg_match('`'.$_POST['section'].'`', $divfichier[0])) {
  59.                         if(preg_match('`'.$_POST['type'].'`', $divfichier[1]))  {
  60.                             if(preg_match('`'.$_POST['reference'].'`', $divfichier[2])){
  61.                                 if(preg_match('`'.$_POST['objet'].'`', $divfichier[3])) {
  62.                                     if(preg_match('`'.$_POST['date'].'`', $divfichier[4])){
  63.                     
  64.                                       echo '<a href="'.$chaine.'">'.$chaine.'</a><br/>';
  65.                                   }
  66.                                 }
  67.                             }
  68.                         }
  69.                     }
  70.                  }                    
  71.            } ?>                   
  72. </div>
  73. </body>
  74. </html>

Reply

Marsh Posté le 30-01-2009 à 11:50:19    

Arrête avec tes AND pas cohérents... Je vais t'expliquer autrement:
 
Si j'ai mon pantalon alors:
    Si j'ai mon pull alors:
        Si j'ai mes chaussures alors:
             Je peux sortir
 
C'est la même chose que :
 
Si j'ai mon pull ET mon pantalon ET mes chaussures alors:
Je peux sortir.
 
Si UNE condition n'est pas rempli, je sors de la boucle.
 
C'est pareil!!!
 
Le script que je me suis donné la peine de te faire fonctionne. Quand je tape en minuscule ca affiche en majuscule. As tu au moins tester le script que j'ai mis plus haut??

Reply

Marsh Posté le 30-01-2009 à 12:44:33    

ne te fache pas stp aspirateur c'est vrai que c'est une vraie prise de tete cette histoire...j'ai teste le code (merci) mais...je ne sais pas si je te dois te dire la suite de peur que tu te decides de venir me tordre le cou...bon je me lance...
 
1/ton code passe oui j'en conclu que c'est mon code qui ne fonctionne pas bien, comment faire?
les fichiers sont dans mon wampserver sur le C: idem pour le repertoire courrier m
 
2/la je me fais toute mais vraiment toute petite pour te poser la question suivante: a la place des AND puis je mettre autre chose?

Reply

Marsh Posté le 30-01-2009 à 13:21:53    

Je ne me fache pas ;)
C'est juste que je comprends pas pourquoi tu veux pas mettre des AND  :??:  
 
Tu dis que tu as essayé le code que je t'ai donné et qu'il fonctionne, ca veut dire que quand tu tapes en minuscule ca affiche en majuscule?
 
Si c'est le cas, il te reste juste à finir le code en mettant des AND  :whistle:  à la place des if imbriqués.
 
Il faut y aller par étapes, teste une première partie de ton code, puis complete le petit à petit.

Reply

Marsh Posté le 30-01-2009 à 19:12:48    

bon, fait les modifications qu'on t'a demandées et montre nous où tu en es.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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