2016-03-05 5 views
-1

Я пишу сценарий для изменения пароля администратора через вход Но проблема в том, что я пишу новый пароль. это изменение всех таблиц, которые означают, что новый пароль стал новым паролем для всех пользователей и я хочу его только для пользователя, который я выбрал пожалуйста, если вы можете помочь мне это сценарий:Сценарий смены пароля администратора

    <form method="post"> 
        <div style="padding-left:40px;" class="azer" class="adm"> 
        <ul style="list-style : none; " > 
         <li style="padding-left:5px;"> 
          <h6 style="float:left; ">new password :</h6>       
          <input style="float:left; margin-left:10px; " type="text" name="zd_pass" placeholder="*******"> 
         </li> 
         <li><input style="margin-left:10px;" type="submit" name="save" value="save" class="btn btn-info" ></li> 
        </ul> 
       </div> 
      </form> 
      <?php    
if(isset($_GET['id'])){ 
    $id = (int)$_GET['id']; 
    $get_id = "select * from admin where zd_id='$id'"; 
    $run_id = mysqli_query($db,$get_id); 
    if(mysqli_num_rows($run_id) > 0){ 
     if(isset($_POST['save'])){  
       $zd_id = @$_POST['zd_id']; 
       $zd_pass = @$_POST['zd_pass']; 
      $update = "update admin set zd_pass='$zd_pass'"; 
      $run_update = mysqli_query($db,$update); 
    if(isset($run_update)){ 
    }} }} ?> 
+0

вашего queqy обновления не имеет 'where' состояние, поэтому он обновляет весь набор – Farside

+0

мне любопытно. Является ли этот сайт живым или собирается жить? Надеюсь, вы приняли во внимание безопасную функцию хеширования для хранения паролей. –

ответ

2

Вам нужно ограничить обновление одной строкой, точно так же, как и при предыдущем выборе. Вы делаете это, устанавливая предложение WHERE, подобное этому, иначе оно обновит всю вашу базу данных.

Также ваш тест после отправки обновления в базу данных для выполнения не будет надежным. Вы должны изменить его, как показано ниже

$update = "update admin set zd_pass='$zd_pass' WHERE zd_id='$id'"; 

$run_update = mysqli_query($db,$update); 
if($run_update !== FALSE) { 
    // the update worked 
} else { 
    // the update failed 
} 
+0

... вот так, иначе он обновит всю вашу базу данных. должно быть, мое редактирование там Смоки. –

+0

Oh HI Ralph @ Fred-ii- – RiggsFolly

+0

* Gidday Smokey * –

Смежные вопросы