2015-10-27 3 views
-1

Я работаю над системой, пользователь которой может зарегистрироваться и войти в систему и посмотреть ее собственный профиль & есть главный администратор, который может видеть и изменять вход пользователя в систему STATUS. Если администратор изменит статус пользователя, пользователь не сможет войти в свою учетную запись. (блокировать пользователя). Предопределенный статус пользователя - «Y», и если администратор хочет ограничить этого пользователя, администратор может изменить статус на «N», чтобы пользователь не мог войти в систему.изменить статус входа пользователя из панели администратора в PHP

Я изучаю php, и я не получаю правильную технику для этого.

Ниже приведен код, где я показываю таблицу пользователя и wan, чтобы изменить статус.

<table border="1" class="pricing-table-wrapper col-sm-4"> 
    <tr> 
     <th>Id</th> 
     <th>Username</th> 
     <th>Email</th> 
     <th>password</th> 
     <th>first_name</th> 
     <th>last_name</th> 
     <th>city</th> 
     <th>signup_date</th> 
     <th>ac_number</th> 

     <th>bank_name</th> 
     <th>Status</th> 
     <th>Action</th> 


    </tr> 
    <?php 
    //We get the IDs, usernames and emails of users 
    $req = mysqli_query($conn, 'select id, username, email, password, first_name, last_name, city, signup_date, ac_number, bank_name, status from users'); 
    while($dnn = mysqli_fetch_array($req)) 
    { 
    ?> 
    <tr> 
     <td class="left"><?php echo $dnn['id']; ?></td> 
     <td class="left"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left"><?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left"><?php echo htmlentities($dnn['password'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left"><?php echo htmlentities($dnn['first_name'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left"><?php echo htmlentities($dnn['last_name'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left"><?php echo htmlentities($dnn['city'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left"><?php echo htmlentities($dnn['signup_date'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left"><?php echo htmlentities($dnn['ac_number'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left"><?php echo htmlentities($dnn['bank_name'], ENT_QUOTES, 'UTF-8'); ?></td> 


     <td class="left"><?php echo htmlentities($dnn['status'], ENT_QUOTES, 'UTF-8'); ?></td> 
     <td class="left">CHANGE USER STATUS</td> 




      <?php 
     } 
     ?> 

    </tr> 

    </table> 

код, который я Опробование

<td> 

     <a href='changestatus.php?id=<?=$dnn['id']?>'> 

      <img src="a6block.jpg" width="50px" > 


     </a> 


     <?php 

     include('config.php'); 

     if(isset($_GET['id'])) 
     { 

     // lookup the current status of user 'id' 

     // Update DB with the new status  

     $sql_query="SELECT * FROM users WHERE id=".$_GET['id']; 
      $result_set=mysqli_query($conn, $sql_query); 
      $fetched_row=mysqli_fetch_array($result_set); 


      $sql_query = "UPDATE users SET status='N' WHERE id=".$_GET['id']; 
      mysqli_query($conn, $sql_query); 



     } 
     header("Location: users.php"); 

     exit; 
     // redirect back to the previous page 


     ?> 

?>

ЭТО МОЖЕТ БЫТЬ НЕПРАВИЛЬНО МЕТОДИКА ТАК ЧТО ДЕЛАТЬ?

+0

нажмем на статус изменения, запустив вызов в файл php и изменив статус –

+0

, но я также хочу изменить статус пользователя в базе данных @Niranjan N Raju, чтобы пользователь не смог войти в систему –

+0

во время входа в систему для регистрации положение дел. –

ответ

3

Создать ссылку на новую страницу PHP и передать идентификатор пользователя ..

<td class="left"> 
    <a href="changestatus.php?id=<?=$dnn['id']?>"> 
     <?php echo htmlentities($dnn['status'], ENT_QUOTES, 'UTF-8'); ?> 
    </a> 
</td> 

Тогда в changestatus.php

if(isset($_GET['id'])){ 

    // lookup the current status of user 'id' 

    // Update DB with the new status  

} 
// redirect back to the previous page 
header("Location: /previouspage.php"); 
exit; 

Или .. .чтобы предотвратить страницу reload, вы всегда можете использовать AJAX ..

+0

Я работаю над вашим предлагаемым ответом. спасибо sir .. –

+0

спасибо sir .. он работает –

+0

вы можете помочь мне добавить AJAX, чтобы я не переделывал страницу. –

0

Это не проверено, но для метода AJAX вам нужно будет сделать что-то вроде этого.

<td class="left"> 
    <a href="#" class='changeStatus' id='<?php echo $dnn['id'] ?>'> 
     <?php echo htmlentities($dnn['status'], ENT_QUOTES, 'UTF-8'); ?> 
    </a> 
</td> 

В файле JS ...

$(document).ready(function() { 
    $('.changeStatus').click(function(e) { 

     e.preventDefault(); 

     $.ajax({ 
      type: "POST", 
      url: 'changestatus.php', 
      data: this, 
     }) 
     .done(function() { 
      //success 
     }) 
     .fail(function() { 
      //failure 
     }); 
    }); 
}); 

Не забывайте .. ..это AJAX изменит значение DB, но дисплей все равно будет показывать исходное значение. Поэтому вам нужно будет обновить дисплей в «успешной» части вызова AJAX.

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