2017-06-18 57 views
-1

我試圖提交我的表單,它有兩個不同的鏈接,導致刪除和編輯php文件,但我注意到,鏈接不提交單選按鈕的值到php文件特別是刪除php文件。但是當我改變鏈接到按鈕的價值提交。請不要使用按鈕標籤,我如何使用我的鏈接將值傳遞給php文件?無法提交我的表單與JavaScript鏈接

這裏是形式:

<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> 

這裏是刪除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

如果你正在編寫新代碼,** _ please_不要使用'mysql_ *'函數**。它們已經老化並且破損,在PHP 5.5中已經被棄用了(這已經很舊了,它甚至不再接收安全更新),並且在PHP 7中完全刪除。使用['PDO'](https://secure.php.net/manual /en/book.pdo.php)或['mysqli_ *'](https://secure.php.net/manual/en/book.mysqli.php)替換爲_prepared statements_和_parameter binding_。有關詳細信息,請參閱http://stackoverflow.com/q/12859942/354577。 – Chris

回答

0

這通常應該工作,只是確保你沒有任何錯誤或通知你的PHP日誌,或生成的HTML,或瀏覽器控制檯中的任何JavaScript錯誤。確保單選按鈕的值填充在html中(也許你從sql中得到錯誤的結果)。

另外我希望你知道你必須先選擇單選按鈕,然後點擊「刪除」或「編輯」鏈接 - 這裏有點混亂,因爲你把鏈接放在每一行。單選按鈕僅在被選中時發送值,否則它們甚至不會出現在POST數據中。

如果您希望在沒有首先選擇單選按鈕的情況下使用每一行上的鏈接,則必須將cn_id作爲參數傳遞給askForDelete_Rec()函數,然後在那裏使用它。輸入類型=「隱藏」可能對此有用,或者只是將其作爲GET參數附加到該操作。

+0

謝謝。你的解釋很有幫助。 –