2017-06-18 4 views
-1

J'ai essayé de soumettre mon formulaire qui a deux liens différents menant à la suppression et à l'édition des fichiers php mais j'ai remarqué que les liens ne soumettent pas la valeur du bouton radio aux fichiers php en particulier le fichier php de suppression. Mais quand j'ai changé les liens aux boutons la valeur a été soumise. S'il vous plaît je ne veux pas utiliser la balise de bouton, comment puis-je faire la valeur traverser les fichiers php avec mes liens?Impossible de soumettre mon formulaire avec Javascript Lien

Voici la forme:

<form action="del_cn_rec.php" method="POST" id="consignments" > 
       <table id="example1" class="table table-hover table-bordered table-striped"> 
       <thead> 
       <tr> 
        <th>ID</th> 
        <th>Consignment No</th> 
        <th>Sender</th> 
        <th>Reciever</th> 
        <th>Pickup Date/Time</th> 
        <th>Msg_Status</th> 
        <th>Status</th> 
        <th>Action</th> 
        <th>Action</th> 
       </tr> 
       </thead> 
       <tbody> 
       <?php 

               $sqlc="SELECT * FROM consignments"; 
               $resultc= mysql_query($sqlc) or die(mysql_error()); 
               while($rwsc= mysql_fetch_array($resultc)){ 
               echo "<tr>"; 
                echo "<td><input type='radio' class='flat-red' name='cn_id' value=".$rwsc[0]; 
                echo " /></td>"; 
                echo "<td>".$rwsc[1]."</td>"; 
                echo "<td>".$rwsc[16]." ".$rwsc[17]."</td>"; 
                echo "<td>".$rwsc[21]." ".$rwsc[22]."</td>"; 
                echo "<td>".$rwsc[6]." ".$rwsc[7]."</td>"; 

                $sqli='SELECT * FROM admin_inbox WHERE cn="'.$rwsc[1].'"'; 
                $resulti= mysql_query($sqli); 
                $rwsi= mysql_fetch_array($resulti); 
                $mstatus= $rwsi[4]; 
                if("$mstatus" === "Unreplied"){ 
                $moutput = "<span class='label label-danger'><i class='fa fa-circle'></i> Unreplied</span>"; 
                } 
                if("$mstatus" === "Replied"){ 
                $moutput = "<span class='label label-success'><i class='fa fa-check-circle'></i> Replied</span>"; 
                } 
                if("$mstatus" === ""){ 
                $moutput = "<span class='label label-warning'><i class='fa fa-circle-o'></i> No Message</span>"; 
                } 
                echo "<td>".$moutput."</td>"; 

                $status= $rwsc[9]; 
                if("$status" === "Delivered"){ 
                $output = "<span class='label label-success'><i class='fa fa-check-square-o'></i> Delivered</span>"; 
                } 
                if("$status" === "On Hold"){ 
                $output = "<span class='label label-danger'><i class='fa fa-hand-stop-o'></i> On Hold</span>"; 
                } 
                if("$status" === "Arrived"){ 
                $output = "<span class='label label-primary'><i class='fa fa-motorcycle'></i> Arrived</span>"; 
                } 
                if("$status" === "In Transit"){ 
                $output = "<span class='label label-warning'><i class='fa fa-truck'></i> In Transit</span>"; 
                } 
                echo "<td>".$output."</td>"; 

                echo "<td><a href=\"javascript:{}\" onclick=\"askForEdit_Rec()\"><span class=\"label label-primary\"><i class=\"fa fa-edit\"></i> Edit Rec.</span></a></td>"; 
                echo "<td><a href=\"javascript:{}\" onclick=\"askForDelete_Rec()\"><span class=\"label label-danger\"><i class=\"fa fa-times\"></i> Delete Rec.</span></a></td>"; 
                echo "</tr>";} 
       ?> 
       </tbody> 
       <tfoot> 
       <tr> 
        <th>ID</th> 
        <th>Consignment No</th> 
        <th>Sender</th> 
        <th>Reciever</th> 
        <th>Pickup Date/Time</th> 
        <th>Msg_Status</th> 
        <th>Status</th> 
        <th>Action</th> 
        <th>Action</th> 
       </tr> 
       </tfoot> 
       </table> 
      </form> 
      </div> 
      <script> 
form=document.getElementById("consignments"); 
function askForEdit_Rec() { 
    form.action = <?php echo json_encode($urlc); ?>; 
    form.submit(); 
} 

</script><script> 
form=document.getElementById("consignments"); 
function askForDelete_Rec() { 
    form.action="del_cn_rec.php"; 
    form.submit(); 
} 

</script> 

Voici le fichier Supprimer php: del_cn_rec.php

<?php 
session_start(); 
include '_inc/dbconn.php'; 
$sql="SELECT * FROM admin WHERE id='1'"; 
$result= mysql_query($sql); 
$rws= mysql_fetch_array($result); 
$email_1= $rws[3]; 
$email_2= $rws[4]; 
$phone= $rws[5]; 
$address= $rws[6]; 
$url= $rws[7]; 
if(!isset($_SESSION['admin_login'])) 
header("location:$url/server-side"); 
?> 
<?php 
      $id= mysql_real_escape_string($_REQUEST['cn_id']); 
      $sql1="SELECT * FROM consignments WHERE id='$id'"; 
      $result1= mysql_query($sql1); 
      $rwsn= mysql_fetch_array($result1); 
      $cn= $rwsn[1]; 

      $sql2="DROP TABLE IF EXISTS ".$cn."status "; 
      mysql_query($sql2) or die(mysql_error()); 

      $sql3="DROP TABLE IF EXISTS ".$cn."msg "; 
      mysql_query($sql3) or die(mysql_error()); 

      $sql6 = mysql_query("SELECT * FROM admin_inbox WHERE cn='$cn'"); 
      if (mysql_fetch_row($sql6)){ 
      $sql4="DELETE FROM admin_inbox WHERE cn='$cn'"; 
      mysql_query($sql4) or die(mysql_error()); 
      } 

      $sql5="DELETE FROM consignments WHERE id='$id' AND cn='$cn'"; 
      mysql_query($sql5) or die(mysql_error()); 

      //Consignment Remove Success Msg 
      $msg = "<i class=\"fa fa-check\"></i> Consignment: $cn Has Been Successfully Deleted!"; 
      header("Location:$url/server-side/consignments?msg=$msg"); 

?> 
+0

Si vous écrivez un nouveau code, ** _ please_ n'utilisez pas les fonctions 'mysql_ *' **. Ils sont vieux et cassés, ont été dépréciés en PHP 5.5 (qui est si vieux qu'il ne reçoit même plus les mises à jour de sécurité), et complètement supprimés en PHP 7. Utilisez ['PDO'] (https://secure.php.net/manual /fr/book.pdo.php) ou ['mysqli_ *'] (https://secure.php.net/manual/fr/book.mysqli.php) avec _prepared statements_ et _parameter binding_ à la place. Voir http://stackoverflow.com/q/12859942/354577 pour plus de détails. – Chris

Répondre

0

cela devrait fonctionner en général, juste vous assurer que vous n'avez des erreurs ou des avis dans votre journal php, ou dans le code HTML généré, ou toute erreur javascript dans la console du navigateur. Assurez-vous que la valeur pour le bouton radio est rempli dans le code HTML (peut-être que vous obtenez un mauvais résultat du sql). En outre, j'espère que vous savez que vous devez d'abord sélectionner le bouton radio et seulement après cela, cliquez sur le lien "Supprimer" ou "Modifier" - c'est un peu déroutant ici, car vous mettez le lien sur chaque ligne. Les boutons radio n'envoient des valeurs que lorsqu'ils sont sélectionnés, sinon ils n'apparaîtront même pas dans les données POST.

Si vous souhaitez utiliser les liens sur chaque ligne sans d'abord sélectionner le bouton radio, vous devez passer le paramètre cn_id en paramètre à la fonction askForDelete_Rec(), puis l'utiliser. Un type d'entrée = "hidden" peut être utile pour cela, ou simplement l'ajouter à l'action en tant que paramètre GET.

+0

merci. Votre explication a été utile. –