2016-06-28 10 views
0

削除する前にパスワードを尋ねるWebアプリケーションが必要です。私が作成した手順は、削除ボタンをクリックする前にモーダルが表示され、セキュリティのためにパスワードを尋ねることです。ヘルプの任意の種類がはるかに高く評価されてPHPは削除する前にパスワードを尋ねます

<?php 
    session_start(); 
    require 'database.php'; 
    $id = 0; 

    if (!empty($_GET['id'])) { 
     $id = $_REQUEST['id']; 
    } 



?> 

      <?php 

      if(isset($_POST['login'])) 
       { 
       $password = mysql_real_escape_string(trim($_POST["password"], "/\'\"\;")); 
       $msg = ''; 

       $query = mysql_query("SELECT * from tbl_user where password = '$password'"); 
        { 
        while($rwOK = mysql_fetch_assoc($query)) 
        { 
         $_SESSION['password'] = $rwOK['password']; 
        } 
        if($_SESSION['password']==$passsowrd) 
        { 
         include 'database.php'; 
         $pdo = Database::connect(); 
         $sql = 'SELECT * FROM customers ORDER BY id DESC'; 
         foreach ($pdo->query($sql) as $row) 
         { 
         header("Location: delete_member.php?id=$row[id]"); 
         } 
        } 
        else if(empty($password)) 
        { 
         $msg = '<i><font color="red">Please input Administrator password.</font></i>'; 
        } 
        else 
        { 
         //$_SESSION['tae'] = $tae; 
         $msg = '<i><font color="red">Invalid Password</font></i>'; 
        } 
        } 
       } 



       ?> 




<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title> Stock Employee </title> 
    <meta charset="utf-8"> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <script src="js/bootstrap.min.js"></script> 
</head> 

<!-- modal --> 
<!-- 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 

<!-- --> 

<body> 
    <div class="container"> 

       <div class="span10 offset1"> 
        <div class="row"> 
         <h3>Delete Record</h3> 
        </div> 

        <!-- <form class="form-horizontal" action="delete.php" method="post"> --> 
        <form class="form-horizontal" action="<?=$_SERVER['PHP_SELF']?>" method="post"> 
         <input type="hidden" name="id" value="<?php echo $id;?>"/> 
         <p class="alert alert-error">Are you sure to delete ?</p> 
         <?php echo !empty($passwordError)?'error':'';?> 
         <div class="form-actions"> 

          <!-- <button type="submit" class="btn btn-danger">Yes</button> --> 

          <!-- Trigger the modal with a button --> 
          <button type="button" class="btn btn-danger" data-toggle="modal" data-target="#myModal">Yes</button> 

          <!-- Modal --> 
           <div class="modal fade" id="myModal" 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">Administrator Access</h4> 
            </div> 
            <div class="modal-body">         

             <div class="control-group <?php echo !empty($passwordError)?'error':'';?>"> 
             <label class="control-label">Password :</label> 
             <div class="controls"> 
              <input name="password" type="password" placeholder="username" required value="<?php echo !empty($password)?$password:'';?>"> 
              <?php if (!empty($passwordError)): ?> 
               <span class="help-inline"><?php echo $passwordError;?></span> 
              <?php endif; ?> 
             </div> 
             </div> 

             <div class="control-group"> 
             <div class="controls"> 
              <button type="submit" class="btn btn-danger">Delete</button>        
             </div> 
             </div>          

            </div> 
            <div class="modal-footer"> 
             <button type="button" class="btn btn-default" data-dismiss="modal" name="login">Close</button> 
            </div> 
            </div> 

           </div> 
           </div> 

          <a class="btn" href="index.php">No</a> 
         </div> 
        </form> 
       </div> 

    </div> <!-- /container --> 
    </body> 
</html> 

は、ここに私のソースコードです。ありがとうございました。

答えて

1

あなたは$パスワード変数

if($_SESSION['password']==$passsowrd) 
{ 

がにwhere句を使用して、あなただけのレコードを削除しようとしているとき、全体の顧客テーブルを反復する

if($_SESSION['password']==$password) 
{ 

もイマイチ良いことがありスペルミスレコードを取得し、存在する場合は削除し、SQLインジェクションを避けるために型キャストを通知します。

$sql = 'SELECT * FROM customers WHERE id = '.(int) $id; 
+1

感謝していますが、まだ動作していませんか? hmm –

+1

削除ボタンに** value **属性を追加しないと、$ _POST ['login']にNULLが返される ' ' – juliusbin

関連する問題