2017-01-16 2 views
-1

おはよう!私は私のMySQLデータベースの特定のデータを承認するためのブートストラップモーダルを持っています。私は何とか選択されたデータのIDを渡すために管理してきました。 ここブートストラップモーダル通過ID

は私のPHPコード

の一部であるモーダルがトリガーされた場所です助けてください:

<a type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#approve<?php echo $id; ?>" href='$id<?php echo '?id='.$id; ?>'><i class="fa fa-check-square-o" aria-hidden="true"></i></a> 

、あなたが見ることができるように、これは私のモーダル

<!-- Modal --> 
<div id="approve<?php echo $id; ?>" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 
    <!-- Modal content--> 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Modal Header</h4> 
     </div> 
     <div class="modal-body"> 
      <p><?php echo $row["alum_id"]; ?></p> 
     </div> 
     <div class="modal-footer"> 
      <a href="approve.php?id=<?php echo $id;?>" class="btn btn-success">Accept</a> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
    </div> 
</div> 

ですモーダルにコードがあることは

<a href="approve.php?id=<?php echo $id;?>" class="btn btn-success">Accept</a> 

これは、データがここに私のapprove.phpファイル

がapprove.php

<?php 

include("db/database_configuration.php"); 
$alum_id=$_GET['id']; 
if(isset($_POST['approve'])){ 
    mysqli_query($conn, "UPDATE tblalumni SET alum_status = '2' WHERE alum_id = '$alum_id'") or die (mysqli_error()); 
    header("location:confirm_alumni.php"); 
}elseif(isset($_POST['decline'])){ 
    mysqli_query($conn, "UPDATE tblalumni SET alum_status = '0' WHERE alum_id = '$alum_id'") or die (mysqli_error()); 
    header("location:confirm_alumni.php"); 
} 

?> 

ためのコードであると認められているところに私を助けてくださいです!前もって感謝します。

+0

これを試してみてください[ '承認']'や '$ _POST [ '減少']' –

+0

[リトルボビー](のhttp:// bobby- tables.com/)*** *** [あなたのスクリプトはSQLインジェクション攻撃の危険にさらされています。](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) *** [MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)の[prepared](http://en.wikipedia.org/wiki/Prepared_statement)のステートメントについて学んでください。 )。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! [それを信じていない?](http://stackoverflow.com/q/38297105/1011527) –

+0

何が問題なのですか?エラーが発生していますか?それ以外は、プロダクションでは使用しないでください。ユーザーの入力を検証していないようです。そのトピックで利用できるリソースはたくさんあります。 – Robert

答えて

0

<form>を使用していない場合は<a href="approve.php?id=<?php echo $id;?>"></a>が正しいので、approve.phpに問題があります。

<?php 
include("db/database_configuration.php"); 

$alum_id=$_GET['id']; 
mysqli_query($conn, "UPDATE tblalumni SET alum_status = '2' WHERE alum_id = '$alum_id'") or die (mysqli_error()); 
header('location:confirm_alumni.php') 

?> 

あなたは `$ _POSTをトリガーするために何かを持っていない

+0

ありがとうございます:)解決しました – LecheDeCrema