如何更改删除功能,以便删除特定用户而不是整个用户列表
P粉087074897
P粉087074897 2023-09-05 19:14:48
[PHP讨论组]

我有一个注册到网站的用户列表,我想在按下删除链接时删除特定用户,但我遇到一个问题,即一旦我打开该网站的页面,所有用户都会被删除用户列表。

这是用户列表,其中 $users 是一个包含用户列表的数组:

<?php foreach($users as $user): ?>
      <tr>
         <th><?= $user->name ?></th>
         <td><?= $user->email ?></td>
         <td><a href="<?php $user->delete()>?">Delete</a></td>
         <td><a href="">Update</a></td>
          </form>
       </tr>
    <?php endforeach?>

这里是$user的删除函数:

public function delete(){
        $result=$this->db->delete("users","id={$this->id}");
        return $result;
    }

这是数据库删除功能:

public function delete(string $table,string $where,int $limit=1){
        return $this->connection->exec("DELETE FROM $table WHERE $where LIMIT $limit");
    }

如何在按下“删除”链接时删除特定用户?!

我尝试更改删除功能,但没有取得结果。

P粉087074897
P粉087074897

全部回复(1)
P粉083785014

问题是这段代码:

<td><a href="<?php $user->delete()>?">Delete</a></td>

问题是,当您调用该页面时,您将直接删除用户,而不是打印删除页面的链接。

您需要创建一个单独的路由(如果您不使用框架,则需要创建一个.php文件),例如delete_user.php?user_id={your_user_id}或/{user_id}/delete(在框架场景中)

此路由/页面必须检查传入页面的用户是否存在广告,然后通过从数据库获取用户并调用 delete() 方法来删​​除它。

之后,您的代码将类似于 php 框架场景中的以下内容:

<td><a href="http://www.example.com/<?php $user->id?>"/delete>Delete</a></td>

或者在独立场景中像这样:

<td><a href="http://www.example.com/delete_user.php?user_id=<?php $user->id?>">Delete</a></td>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号