2013-06-27 5 views
0

создал страницу входа пользователя. Где я могу видеть, какой пользователь вошел в систему. Но я не могу удалить пользователя из базы данных. Я использую PDO для подключения базы данных. Вот мой метод для удаления пользователя:Как удалить пользователя из базы данных MySql с помощью PHP

public function delete($user_name) 
    { 
     $sql = $this->connection()->prepare("delete from online where user_name =  :user_name"); 
     $sql->bindValue(':user_name', $user_name, PDO::PARAM_STR); 
     $sql->execute(); 
     return $sql; 
    } 

вот мой HTML код:

if(isset($_POST['submit'])){ 
$user_name = isset($_POST['user_name']); 
    print_r($user_name); 
    //call delete method to delete the user from database 
$database->delete($user_name); 
} 

<form action="" method="post"> 
    <?php 

    foreach($rows as $row){ 
     $time = $row['time_out']; 
     echo "<input type='text' value='$row[user_name]' name='user_name'> 
     <input type='text' value=' $row[course]' > 
     <input type='text' value=' $time '> 
     <input type='hidden' value='$row[user_name]' name='user_name'> 
     <input type='submit' value='delete' name='submit'><br>"; 
    } 
    ?> 
</form> 
+2

Может быть, вы должны ознакомиться как Исеть() работает: http://php.net/manual/en/function.isset.php ... "Возвращает TRUE, если var существует и имеет значение, отличное от NULL, FALSE в противном случае". , Передавая переменную функции return, применяет возвращаемое значение к переменной '$ var = function ($ var)' в этом случае, если функция возвращает false/true, $ var станет либо false, либо true, но не значением, которое вы хотите –

ответ

2

$user_name является логическим, поскольку вы устанавливаете его в результате isset()

Возможно, вы имели в виду что-то вроде:

if(isset($_POST['submit'])){ 
    $user_name = isset($_POST['user_name']) ? $_POST['user_name'] : false; 
    if($user_name) { 
    print_r($user_name); 
    //call delete method to delete the user from database 
    $database->delete($user_name); 
    } else { 
    echo "No user name found!"; 
    } 
} 
0

Попробуйте использовать это -

if (isset($_POST['user_name'])) { 
    $user_name = $_POST['user_name']; 
    $database->delete($user_name); 
} 

И вы должны изучить, как использовать Исеть() - http://php.net/manual/en/function.isset.php