现在开始学习一个小PDO之后,在网站上提出一些建议,从有用的用户那里查看。 我还是很新鲜,所以我不想要完整的解决方案,但是正确的方向是一个点,因为我对输入内容有点不清楚。
我有两个问题,我一直试图在这里弄清楚。 一直在搜索谷歌,观看视频和在这里阅读大量的帖子,看看我是否能找到解决方案。但是由于有很多方法可以设置所有东西,所以它只是在我的头脑中得到了一些不同的解决方案和不同的意见。
好。回到正轨。
<div class="row">
<div class="col-xs-12 col-md-12 user_group">
<h2 class="text-center">Aktive brukere:</h2>
<?php
$stmt = $DB_con->query('SELECT * FROM users ');
$stmt->execute();
echo "<table id='user' class='table table-bordered table-striped'>
<tr>
<th>Bruker-ID</th>
<th>Brukernavn</th>
<th>E-post</th>
<th>Fornavn</th>
<th>Etternavn</th>
<th>Rolle</th>
<th>Banna</th>
<th>Deaktivert</th>
<th>Profil</th>
<th>Slett</th>
</tr>";
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$userID = $row['user_id'];
$username = $row['user_name'];
$email = $row['user_email'];
$firstname = $row['user_fname'];
$lastname = $row['user_lname'];
$role = $row['user_role'];
$banned = $row['user_banned'];
$deactivated = $row['user_deactivated'];
{
echo "<tr>
<td>$userID</td>
<td>$username</td>
<td>$email</td>
<td>$firstname</td>
<td>$lastname</td>
<td>$role</td>
<td>$banned</td>
<td>$deactivated</td>
<td><button class='btn btn-block btn-primary'><a href='../inc/profile.php'></a>Profil</button></td>
<td><button class='btn btn-block btn-danger'><a href='process.php?userID=". $userID ."'></a>Slett</button></td>";
}
}
?>
</div>
</div>
这是我在网站上的活跃用户列表。我刚刚在这里创建了一些测试用户来测试所有内容。
我有两个按钮。个人资料和删除。 我想我必须创建另外两个名为profile.php和delete.php的文件,但是我在这些文件中应该拥有的东西是有点非常不清楚的。
我需要从按钮所在的用户那里获取ID,但这是我的问题。我似乎无法得到我想要的用户。
几次尝试我给了我列表中的每个用户或只是我登录用户。 看起来我在这些文件中不需要太多代码来获取用户ID并删除正确的用户。
如果我能得到一个关于我如何用我的按钮删除用户的指针,我可以弄清楚配置文件部分,因为它从用户点击获取ID似乎是问题。
对不起我的英文和长篇文章。
PS:这是我的user.php类脚本,如果有帮助的话:
class USER
{
private $db;
function __construct($DB_con)
{
$this->db = $DB_con;
}
public function register($fname, $lname, $uname, $umail, $upass)
{
try
{
$new_password = password_hash($upass, PASSWORD_DEFAULT);
$stmt = $this->db->prepare("INSERT INTO users(user_name,user_email,user_pass,user_fname,user_lname) VALUES(:uname, :umail, :upass, :fname, :lname)");
$stmt->bindparam(":uname", $uname);
$stmt->bindparam(":umail", $umail);
$stmt->bindparam(":upass", $new_password);
$stmt->bindparam(":fname", $fname);
$stmt->bindparam(":lname", $lname);
$stmt->execute();
return $stmt;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
答案 0 :(得分:0)
我使用以下代码,它总是适合我。
$sql="SELECT * FROM users";
foreach($conn->query($sql) as $row){
echo '<a href="delete-user.php?id='.$row['user_id'].'">delete</a>';
}
然后在delete-user.php页面
$query=$conn->prepare("DELETE FROM users WHERE id=:id");
$query->execute(array(':id'=>$_GET['id']));
答案 1 :(得分:0)
既然你不想要一个完整的解决方案,我完全尊重它。这是最好的学习方式。我会给你一些线索。
如果要删除用户,则需要创建类似
的链接<a href='process.php?userID=". $userID ."'></a>
但将process.php更改为将负责删除用户的不同文件。在该文件中,您需要以与在user.php中执行INSERT查询相同的方式执行DELETE查询,您只需要一个参数“id”