2014-11-12 6 views
0

У меня есть простая опция выбора для обновления информации о пользователях, но она, похоже, не обновляет ее в mysql.mysql update from html select option error

Посмотрите в моем коде.

session_start(); 
$UserID = $_GET['id']; 
$UserID = preg_replace("[^0-9]", "", $UserID); 

$result = mysql_query("SELECT first_name, last_name, active FROM users WHERE UserID='$UserID' LIMIT 1"); 
$row = mysql_fetch_assoc($result); 

if (isset($_POST['submit'])) { 
    $active = $_POST["active"]; 
    $sql= mysql_query("UPDATE users SET active = '$active' WHERE UserID='$UserID' LIMIT 1"); 
     $succesMsg .= "<div class='alert alert-success alert-dismissable'> 
      <i class='fa fa-ban'></i> 
      <button type='button' class='close' data-dismiss='alert' aria-hidden='true'>x</button> 
      Account gegevens gewijzigd 
      </div>"; 
    $_SESSION['succes'] = $succesMsg; 
    header("Location: ".DEFAULT_URL_ADMIN."/user/"); 
} 

HTML

<form action="<?=$_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="active_user" class="standerdForm"> 
          <div class="box-body"> 
           <div class="form-group"> 
             <label>Selecteer</label> 
             <select class="form-control" id="active" name="active"> 
              <option value="0" <?php if($row['active'] == 0) {echo 'selected';} ?>>Deactiveren</option> 
              <option value="1" <?php if($row['active'] == 1) {echo 'selected';} ?>>Activeren</option> 
             </select> 
           </div> 
          </div> 
          <div class="box-footer"> 

          <center> 
           <a href="<?=DEFAULT_URL_ADMIN?>/user/" class="btn btn-default marginRight_20">Annuleren</a> 
           <input type="submit" name="submit" id="submit" class="btn btn-primary" value="Opslaan"> 
          </center> 

          </div> 
         </form> 
+0

вы пробовали отладки это? Получаете ли вы значения для '$ _GET ['id']', '$ _POST ['submit']' и '$ _POST [" active "]'? Что такое '$ _SERVER ['PHP_SELF']', на нем есть 'id = 123'? –

+0

Просто заметьте, но этот код * очень * небезопасен. Простой POST на ваш сайт с 'активным', установленным на что-то вроде' 0 '- ', и ваши данные исчезли. Посмотрите информацию о MySQLi и параметризованных запросах. –

+0

Я получаю значение $ _GET ['id'], потому что я пытался его эхо. Но как я могу отлаживать и видеть ошибки POST? – user3624601

ответ

0

мне нужно изменить

<?=$_SERVER['PHP_SELF'] 

в

$_SERVER['REQUEST_URI']