bouton submit qui en entraine un autre

bouton submit qui en entraine un autre - PHP - Programmation

Marsh Posté le 11-08-2005 à 10:31:04    

Voila mon petit souci  
 
je suis entrain de créer un formulaire  
la premiere partie est une recherche de données donc je rentre le numéro et je valide en appuyant sur un bouton  
 
la validation entraine l'affichage des données et la possibilité de rentrer de nouvelles informations sur les données. J'ai donc créer un nouveau bouton pour enregistrer les nouvelles données mais il ne se passe rien lorsque je valide.  
 
J'ai esquivé le probleme pour l'instant mais ca me gene au niveau de l'affichage et de l'utilisation du logiciel.
 

Code :
  1. <html>
  2. <head>Page de cloture d'un dossier</head>
  3. <body>
  4. <?php
  5. //récupération de la date  
  6. $date = date("Y-m-d" );
  7. function fselect($fichier,$nomselect, $selected){
  8.    print "<select size=1 name=$nomselect >"."\n";
  9.    print "<option value=0>Selectionner</option>"."\n";
  10.    $fp = fopen ("$fichier","r" );
  11.    while (!feof($fp)){
  12.       $ligne = fgets($fp,4096);
  13.       $ligne=chop($ligne);
  14.       $resu=explode(";",$ligne);
  15.       if ($ligne == "" || ereg("^#",$ligne)){
  16.          continue;
  17.       }
  18.       else{
  19.          print '<option value="'.$resu[0].'"';
  20.          if($selected == $resu[0]) {
  21.             echo ' selected="selected"';
  22.          }
  23.       print '>'.$resu[1];
  24.       print "</option>\n";
  25.       }
  26.    }
  27.    print "</select>"."\n";
  28. }
  29. function lire($fichier,$nomselect,$selec){
  30. $fp = fopen ("$fichier","r" );
  31.     while (!feof($fp)){
  32.       $ligne = fgets($fp,4096);
  33.       $ligne=chop($ligne);
  34.       $resu=explode(";",$ligne);
  35.       if ($ligne == "" || ereg("^#",$ligne)){
  36.          continue;
  37.       }
  38.       else{
  39.          
  40.          if($selec == $resu[0]) {
  41.             echo $resu[1];
  42.             }
  43.          }
  44.       }
  45.    }
  46. ?>
  47. <form method="post" action="cloture.php">
  48. Rechercher un dossier : <input type="text" name="dossier" size ="l"
  49.       value ="<?php if(isset($_POST['Chercher'])){ echo $_POST['dossier'];} ?>" />
  50.       <input type="submit" name="Chercher" value="Chercher client">
  51. <br>
  52. <?php
  53. // connexion a la base de donnée pour afficher les résultats de la recherche  
  54. if(isset($_POST['Chercher']) && empty($_POST['dossier'])){
  55.    echo "<font color =red> Vous devez rentrer un numéro de dossier pour lancer la recherche";
  56.    }
  57.    else{
  58.       if(isset($_POST['Chercher']) && $_POST['dossier']!="" ) {
  59.          $connexion = mysql_pconnect("localhost","root","" ) or die("erreur de connexion" );
  60.          $db = mysql_select_db("sav micro", $connexion)
  61.             or die ("erreur connexion base" );
  62.            
  63.            
  64.          //construction de la requete  
  65.          
  66.          $requete = " SELECT * FROM Produit
  67.             WHERE Dossier ='$_POST[dossier]'";
  68.          
  69.          //envoi de la requete  
  70.          $res = mysql_query($requete) or die ("execution requete impossible" );
  71.          while($donnees = mysql_fetch_array( $res)){
  72. ?>
  73. <H2> <strong>Ajout d'un produit au client </H2>
  74. Modification des données sur le dossier <input type="text" name = "dos"
  75.          value=" <?php echo $donnees['Dossier'] ?>" />
  76. <P>
  77. Déposé le : <input type ="text" name=" date" value ="<?php echo $donnees['Date'] ?>">
  78. Acceuil par : <?php echo lire("vendeur.txt","vendeur",$donnees['Acceuil']);?>
  79. </p>
  80. <P>
  81.    Marque :<?php echo lire("vendeur.txt","vendeur",$donnees['Marque']);?>
  82. Modèle : <?php echo $donnees['Modele'];?>
  83. <br>
  84. Numéro de série : <?php echo $donnees['NumeroSerie'];?>
  85. <br>
  86. </p>
  87. <p>
  88. Garantie : <?php echo $donnees['Garantie'];?>
  89.    <br>
  90. </p>
  91. <p> Commentaires : <?php echo $donnees['Commentaire'];?>
  92. <br>
  93. </p>
  94. <p>
  95. Accessoires : <?php echo $donnees['Accessoire'];?>
  96. <?php
  97.       }
  98.    ?>
  99. </p>
  100. <br>
  101. Tarif :
  102. <?php
  103. // menu déroulant des vendeurs  
  104.    $selectionne = isset($_POST['tarif']) ? $_POST['tarif'] : 0;
  105.    fselect("tarif.txt", "tarif",$selectionne);
  106. ?>
  107. <br>
  108. Intervention réalisée :
  109.    <TEXTAREA rows="3" cols = "80" name="intervention">
  110.    </TEXTAREA>
  111. <br>
  112. Date de cloture du dossier: <input type ="text" name=" datecloture" value ="<?php echo $date ?>">
  113. <br>
  114. <input type="submit" name="valider" value="Enregistrer"> <br>
  115. <?php
  116.    if( isset($_POST['valider']))
  117.    {
  118.    echo "bonjour";
  119.     $connexion = mysql_pconnect("localhost","root","" ) or die("erreur de connexion" );
  120.          $db = mysql_select_db("sav micro", $connexion)
  121.             or die ("erreur connexion base" );
  122.            
  123.          $sql2 = "UPDATE Produit SET Tarif ='$_POST[tarif]', Intervention ='$_POST[intervention]',
  124.                         Datedepot ='$_POST[datecloture]' Where Dossier = '$_POST[dos]'"; 
  125.      
  126.      
  127.      // on insère les informations du formulaire dans la table Tarif  Accessoire Intervention Datedepot  
  128.     mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
  129.    
  130.    // on affiche le résultat pour le visiteur  
  131.     echo '<font color =blue>
  132.       Les informations sur le produit ont été ajoutées dans la base de données.</br>
  133.     </font>';
  134.          
  135.          }   
  136.    }   
  137. }   
  138.   ?>
  139.  
  140. </form>
  141. </body>
  142. </html>

Reply

Marsh Posté le 11-08-2005 à 10:31:04   

Reply

Marsh Posté le 11-08-2005 à 16:21:05    

Javascript accepte plusieurs boutons submit. Je viens de le vérifier à l'instant.
 
Le problème vient du positionnement incorrect des accolades fermantes. Je pense que celle qui se trouve en L64 devrait être insérée avant L43.

Reply

Marsh Posté le 11-08-2005 à 17:37:04    

merci c'était la bonne solution en déplacant les accolade le prog fonctionne comme je veux  
encore merci

Reply

Sujets relatifs:

Leave a Replay

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