使用 php pdo 从表单中删除用户

Deleting user from a form using php pdo

我有一个 table 显示我的数据库中的用户列表,我在每一行旁边添加了一个删除按钮,这样如果我想删除该行,我单击删除按钮,该行就会消失从我的数据库和数据库上显示的 table。

当我单击“删除”时,它会将我重定向到另一个页面,但不会删除数据库中的任何内容。请找到附件中用于删除用户的 PHP 和它显示的 HTML table。

提前致谢

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../favicon.ico">

    <title>Ballymena Sports</title>

    <!-- Bootstrap core CSS -->
    <link href="bootstrap.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="home2.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>

    <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
                <a class="navbar-brand" href="home2_template.html">Ballymena Sports</a>
        </div>

        <ul class="nav navbar-nav navbar-right">
            <li><a href="admin_login.php">Administrator</a></li>
            <li><a href="logout.php">Log out</a></li>
        </ul>

      </div>
    </nav>



    <!-- Main part of homepage -->
    <div class="jumbotron">
        <div class="container">
          <h2>Users</h2>
          <p>This table shows all registered users of Ballymena Sports:</p>            

            <div class="table-responsive"> 
            <tbody>
                <?php 
                    include "config.php"; 

                    $query = $db->prepare("SELECT * FROM user ORDER BY userID asc");
                    $query->execute();


                    echo "<table id='user' class='table table-bordered'>
                          <tr>
                          <th>User ID</th>
                          <th>Username</th>
                          <th>Forename</th>
                          <th>Surname</th>
                          <th>Email</th>
                          <th>Address</th>
                          <th>Town</th>
                          <th>Postcode</th>
                          <th>Edit User</th> 
                          <th>Delete User</th>
                          </tr>";

                    while ($dbRow = $query->fetch(PDO::FETCH_ASSOC)) {
                        $userID = $dbRow['userID'];
                        $username = $dbRow['username'];
                        $forename = $dbRow['forename'];
                        $surname = $dbRow['surname'];
                        $email = $dbRow['email'];
                        $address1 = $dbRow['address1'];
                        $town = $dbRow['town'];
                        $postcode = $dbRow['postcode'];
                        // code to display information


               { echo "<tr>
                        <td>$userID</td>
                        <td>$username</td>
                        <td>$forename</td>
                        <td>$surname</td>
                        <td>$email</td>
                        <td>$address1</td>
                        <td>$town</td>
                        <td>$postcode</td>
                        <td><a href='edit_user.php'>Edit</a></td>
                        <td><a href='delete_user.php'>Delete</a></td>
                      </tr>";}
                }
                ?> 


            </tbody>
            </div>
          </table>
        </div>
    </div>
<?php 


    if(!$_SESSION['admin_username']){
        header('location:admin_login.php'); 

        $name = $_SESSION['admin_username'];
    }

?> 

      <hr>



    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="../../dist/js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> 
    <!-- Header and footer later to be used as include statements -->
  </body>
</html>

DELETE.PHP

<?php
/* 
 DELETE.PHP
 Deletes a specific entry from the 'players' table
*/

 // connect to the database
 include "config.php";

 // check if the 'id' variable is set in URL, and check that it is valid
 if (isset($_GET['userID']))
 {
 // get id value
 $userID = $_GET['userID'];

 // delete the entry
    $query = $db->prepare("DELETE FROM user WHERE userID='$userID'");
    $query->execute();

 // redirect back to the view page
 echo'deleted';
 header("Location: view_user.php");
 }
 else
 // if id isn't set, or isn't valid, redirect back to view page
 {
     echo'no id'; 
 header("Location: admin_panel.php");
 }

?>

您没有将 $userId 传递给 delete.php

<td><a href='delete_user.php?userId=".$userID."'>Delete</a></td>