简体   繁体   中英

How to delete user from MySql database using PHP

created a user login page. Where I can see which user is logged in. But I can't delete user from database. I am using PDO for connecting database. Here is my method for deleting user:

 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;
    }

here is my HTML code:

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>

$user_name is a boolean because you're setting it to the result of isset()

Perhaps you meant to do something like:

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!";
  }
}

Try using this -

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

And you should study how to use isset()- http://php.net/manual/en/function.isset.php

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM