2016-06-09 4 views
0

J'essaie de finir mon nouveau CMS personnel (Content Management System) et j'ai programmé une section qui comprend insérer, sélectionner et supprimer l'élément dans une page avec PHP, MySql et bootstrap Modal . évidemment, j'ai des problèmes avec la requête de mise à jour. Le processus est quand je clique sur le bouton d'édition, Bootstrap modal apparaîtra, puis les données d'association récupèrera formulaire Mysql par l'attribut de valeur. après que je les change et clique sur le bouton soumettre. Le problème est ici! Lorsque le processus est terminé, il y a des erreurs dans mon $ _POST ['input_result']. le var_dump obtient NULL, et finalement j'ai un index non défini. Y a-t-il quelqu'un pour comprendre ce problème ??? Merci à tous. ici est mon code modal Bootstrap avec PHP:Mettre à jour la requête avec modal Bootstrap obtenir undefined index

<?php 
    $selectForUpdate = "SELECT * FROM ring WHERE id='4'"; 
    $resultSelectForUpdate = mysqli_query($connect_to_db, $selectForUpdate); 

    $first = $second = $third= ''; 
    $first = $_POST['u_ringCode']; 
    $second = $_POST['u_ringWeight']; 
    $third = $_POST['u_ringComment']; 

    $updateQuery = "UPDATE ring SET ring_code='".$first."', ring_weight='".$second."', ring_comment='".$third."' WHERE id='4'"; 
    $resultUpdateQuery = mysqli_query($connect_to_db, $updateQuery); 
    while ($showUpdateRows = mysqli_fetch_assoc($resultSelectForUpdate)) { 
?> 
    <!-- Update Modal --> 
    <div class="modal fade bs-example-modal-sm" id="update-4" tabindex="-1" role="dialog" aria-labelledby="update-4-label" > 
     <div class="modal-dialog modal-sm" role="document"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
        <h5 class="modal-title text-center" id="update-4-label" style="color:#ddd;" > 
         Edit Code 
        </h5> 
       </div> 
       <div class="modal-body"> 
        <div class="col-md-12 col-sm-12 col-xs-12"> 
         <form method="post" action="<?=htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
          <div class="form-group"> 
           <label for="">Ring Code :</label> 
           <input type="text" class="form-control" id="" name="u_ringCode" placeholder="" value="<?=$showUpdateRows['ring_code']?>"> 
          </div> 
          <div class="form-group"> 
           <label for="">Ring Weight :</label> 
           <input type="text" class="form-control" id="" name="u_ringWeight" placeholder="" value="<?=$showUpdateRows['ring_weight']?>"> 
          </div> 
          <div class="form-group"> 
           <label for="">Comment :</label> 
           <input type="text" class="form-control" id="" name="u_ringComment" placeholder="" value="<?=$showUpdateRows['ring_comment']?>"> 
          </div> 
         </form> 
        </div> 
       </div> 
       <div class="modal-footer"> 
        <a type="button" class="btn btn-default pull-left" data-dismiss="modal">Cancel</button> 
        <a type="submit" class="btn btn-default pull-left" name="ringDelete" style="color:black;" href="?update=4">Submit</a> 
       </div> 
      </div> 
     </div> 
    </div> 
<?php 
    } 
?> 
+0

pourquoi vous ne l'utilisez le bouton d'envoi –

Répondre

0
<?php 
    /*Code Start For Connnect Database*/ 
     $connect_to_db=mysqli_connect("localhost", "root", "", "db_name"); 
    /*Code End For Connnect Database*/ 
    /*Code Start For Update Modal Form*/ 
     if (isset($_REQUEST['ringUpdate'])) { 
      $first = $_POST['u_ringCode']; 
      $second = $_POST['u_ringWeight']; 
      $third = $_POST['u_ringComment']; 
      $updateQuery = "UPDATE ring SET ring_code='".$first."', ring_weight='".$second."', ring_comment='".$third."' WHERE id='4'"; 
      $resultUpdateQuery = mysqli_query($connect_to_db, $updateQuery); 
     } 
    /*Code End For Update Modal Form*/ 
     $selectForUpdate = "SELECT * FROM ring WHERE id='4'"; 
     $resultSelectForUpdate = mysqli_query($connect_to_db, $selectForUpdate); 
      while ($showUpdateRows = mysqli_fetch_assoc($resultSelectForUpdate)) { 

?> 
    <!-- Update Modal --> 
    <div class="modal fade bs-example-modal-sm" id="update-4" tabindex="-1" role="dialog" aria-labelledby="update-4-label" > 
     <div class="modal-dialog modal-sm" role="document"> 
      <div class="modal-content"> 
       <form method="post" action="<?=htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
       <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h5 class="modal-title text-center" id="update-4-label" style="color:#ddd;" > 
        Edit Code 
       </h5> 
      </div> 
      <div class="modal-body"> 
       <div class="col-md-12 col-sm-12 col-xs-12"> 
         <div class="form-group"> 
          <label for="">Ring Code :</label> 
          <input type="text" class="form-control" id="" name="u_ringCode" placeholder="" value="<?=$showUpdateRows['ring_code']?>"> 
         </div> 
         <div class="form-group"> 
          <label for="">Ring Weight :</label> 
          <input type="text" class="form-control" id="" name="u_ringWeight" placeholder="" value="<?=$showUpdateRows['ring_weight']?>"> 
         </div> 
         <div class="form-group"> 
          <label for="">Comment :</label> 
          <input type="text" class="form-control" id="" name="u_ringComment" placeholder="" value="<?=$showUpdateRows['ring_comment']?>"> 
         </div> 
       </div> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Cancel</button> 
       <input type="submit" class="btn btn-default pull-left" name="ringUpdate" style="color:black;" value="submit"> 
      </div> 
      </form> 
     </div> 
    </div> 
</div> 
    <?php 
} 
?> 
+0

Il fonctionne mon pote! Merci beaucoup. J'espère que vous obtenez mieux pense que vous voulez: D –

+0

Merci, je suis très heureux de vous aider –

0

Votre variable $ _POST est vide avant forme soumission. Vous devez vérifier cela. En outre, il n'est pas sûr de faire des requêtes db sans chaîne d'échappement. Vous pouvez en lire plus à ce sujet en cherchant des injections MySQL. Et la troisième chose que vous obtenez des éléments avant la requête de mise à jour. Dans ce cas, vous ne verrez pas les données modifiées sur votre page. Seulement après l'actualisation de la page, les nouvelles valeurs s'afficheront. première partie de votre code pourrait ressembler à ceci:

<?php 
if(!empty($_POST['u_ringCode'])&&!empty($_POST['u_ringWeight'])&&!empty($_POST['u_ringComment'])) 
{ 
    $first = $connect_to_db->escape_string($_POST['u_ringCode']); 
    $second = $connect_to_db->escape_string($_POST['u_ringWeight']); 
    $third = $connect_to_db->escape_string($_POST['u_ringComment']); 
    $updateQuery = "UPDATE ring SET ring_code='$first', ring_weight='$second', ring_comment='$third' WHERE id='4'"; 
    $resultUpdateQuery = mysqli_query($connect_to_db, $updateQuery); 
} 
$selectForUpdate = "SELECT * FROM ring WHERE id='4'"; 
$resultSelectForUpdate = mysqli_query($connect_to_db, $selectForUpdate); 


while ($showUpdateRows = mysqli_fetch_assoc($resultSelectForUpdate)) { 
    ?>