2013-05-12 2 views
0

암호가 맞는지 확인한 후 사용자가 계정을 삭제할 수있는 계정 삭제 페이지가 있습니다. 사용자가 잘못된 암호를 입력하면 시스템이 오류 msg는 암호가 올바르지 않습니다. 사용자가 올바른 암호를 입력하면 시스템에 사용자에게 알리는 메시지가 표시되지 않습니다. 아무도 도와 줄 수 있습니까?사용자 계정이 삭제되었음을 확인하십시오.

delete_account.php

<?php 
session_start(); 
$msgToUser=""; 
if(@!$_SESSION['user_id']) 
{ 
    $msgToUser= '<br /><br /><font color = "#FF000">Only registered users can delete their account</font><p><a href = "register.php">Join Here</a></p>'; 
    exit(); 
} 
$id = $_SESSION['user_id']; 

if(isset($_POST['delete'])) 
{ 


     $del_acct_pass = $_POST['del_account_pass']; 
     require_once('include/connect.php'); 
     $check_pass = mysql_query("SELECT password FROM user WHERE password = '$del_acct_pass' AND user_id ='$id'")or die(mysql_error()); 
     $check_pass_num = mysql_num_rows($check_pass); 
     if($check_pass_num>0) 
     { 
     /*$sql = mysql_query("SELECT * FROM user WHERE user_id = '$id'")or die(mysql_error()); 
     $pass_check_num = mysql_num_rows($sql);*/ 


      $pic1=("members/$id/image01.jpg"); 
      if(file_exists($pic1)) 
      { 
        unlink($pic1); 

      } 

      $dir = "members/$id"; 
      rmdir($dir); 

      $sqltable1 = mysql_query("DELETE FROM user WHERE user_id ='$id'")or die(mysql_error()); 
      $sqltable1 = mysql_query("DELETE FROM blabing WHERE u_id ='$id'")or die(mysql_error()); 
      $msgToUser="<h3 style='color:#99FF33'>YOUR Account Has Been Deleted!!!</h3>"; 
      session_destroy(); 



     } 
     $msgToUser = "<h3 style='color:#CC0000'>YOU must Write the correct Password</h3>"; 

} 



?> 
    <table width="70%" align="center" cellpadding="6"> 
      <form action="delete_account.php" method="post" name="delete_form" > 
      <tr> 
       <td bgcolor="#CCCCCC">Delete Your Account </td> 
      </tr> 
      <tr> 
       <td>Please enter Your current Password to proceed with account deletion</td> 
      </tr> 
      <tr> 
       <td><input type="password" name="del_account_pass" id="del_account_pass" /></td> 
      </tr> 
      <tr> 

       <td><input type="submit" name="delete" id="delete" value="Delete Account" /></td> 
      </tr> 
      <tr> 
      <td><?php echo $msgToUser; ?></td> 
      </tr> 
      </form> 
      </table> 
+0

내 의견으로는 코드를 다시 확인하십시오. 코드가 완전히 잘못되었습니다! 예를 들어 삭제 프로세스가 정상이면 모든 조건에서 "올바른 비밀번호를 작성해야합니다"라는 메시지가 나타나면 정확한지 확인하십시오. – rcpayan

답변

1

당신은 항상, 잘못된 암호 abouyt 메시지에 항상 $ msgToUser를 설정한다.

계정을 삭제하더라도 실행됩니다.

당신은 아마 Btw는 else 절

} else { 
    $msgToUser = "<h3 style='color:#CC0000'>YOU must Write the correct Password</h3>"; 
} 

에서 원하는, 보안에 읽을 필요가, 당신의 코드는 SQL 인젝션에 취약합니다.

관련 문제