2017-07-15 11 views
-1

次のコードは$ _GETでは機能しますが、$ _POSTでは機能しません。GETの代わりにPOSTが機能しない

<?php 
include_once 'dbconfig.php'; 

if(isset($_GET['delete_id'])) 
{ 
    $sql_query="DELETE FROM users WHERE user_id=".$_GET['delete_id']; 
    mysqli_query($conn,$sql_query); 
    header("Location: $_SERVER[PHP_SELF]"); 
} 
?> 

<script type="text/javascript"> 
    function edt_id(id) 
    { 
     if(confirm('Sure to edit ?')) 
     { 
      window.location.href='edit_data.php?edit_id='+id; 
     } 
    } 
    function delete_id(id) 
    { 
     if(confirm('Sure to Delete ?')) 
     { 
      window.location.href='index.php?delete_id='+id; 
     } 
    } 
</script> 
</head> 
<body> 
<center> 

<div id="body"> 
    <div id="content"> 
     <table align="center"> 
      <tr> 
       <th colspan="5"><a href="add_data.php">add data here.</a></th> 
      </tr> 
      <tr> 
       <th>First Name</th> 
       <th>Last Name</th> 
       <th>City Name</th> 
       <th colspan="2">Operations</th> 
      </tr> 
     <?php 
      $sql_query="SELECT * FROM users"; 
      $result_set=mysqli_query($conn,$sql_query); 
      while($row=mysqli_fetch_row($result_set)) 
      { ?> 
       <tr> 
        <td><?php echo $row[1]; ?></td> 
        <td><?php echo $row[2]; ?></td> 
        <td><?php echo $row[3]; ?></td> 
        <td align="center"><a href="javascript:edt_id('<?php echo $row[0]; ?>')"><img src="b_edit.png" align="EDIT" /></a></td> 
        <td align="center"><a href="javascript:delete_id('<?php echo $row[0]; ?>')"><img src="b_drop.png" align="DELETE" /></a></td> 
       </tr> 
     <?php 
      } ?> 
     </table> 
    </div> 
</div> 

</center> 
</body> 
</html> 

私は、取得値ではなくポストにクエリを変更しました。データテーブルのデータ削除ボタンは機能しません。 issetとqueryでgetメソッドを変更してページをリフレッシュした後、その行は削除されます。それの原因は何ですか?

答えて

0

これらの線が

window.location.href='edit_data.php?edit_id='+id; 

$_GET配列ではなく$_POST配列でPHPに渡されるURLのクエリ文字列を生成しますので。です

POSTを使用する場合は、代わりにHTMLに<form>を使用する必要があります。

0

POSTメソッド を使用する場合は、ajax postを使用するか、<form method="post">を使用する必要があります。

0
window.location.href='index.php?delete_id='+id; 

entewindow.location.href='edit_data.php?edit_id='+id; 

それらの内側のボタンで<form action="#" method="post">を使用し、$ _POSTを行うには、両方の$ _GETです。その後、そのトリックを行う必要があります。

0
window.location.href='index.php?delete_id='+id; 

この行は、常に$ _GET配列で値を渡します。 $ _POSTメソッドを使用する場合は、ajaxまたはform submitを使用する必要があります。

関連する問題