如何更改删除功能,以便删除特定用户而不是整个用户列表
P粉087074897
P粉087074897 2023-09-05 19:14:48
[PHP讨论组]
<p>我有一个注册到网站的用户列表,我想在按下删除链接时删除特定用户,但我遇到一个问题,即一旦我打开该网站的页面,所有用户都会被删除用户列表。</p> <p>这是用户列表,其中 <code>$users </code>是一个包含用户列表的数组:</p> <pre class="brush:php;toolbar:false;">&lt;?php foreach($users as $user): ?&gt; &lt;tr&gt; &lt;th&gt;&lt;?= $user-&gt;name ?&gt;&lt;/th&gt; &lt;td&gt;&lt;?= $user-&gt;email ?&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;&lt;?php $user-&gt;delete()&gt;?&quot;&gt;Delete&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;&quot;&gt;Update&lt;/a&gt;&lt;/td&gt; &lt;/form&gt; &lt;/tr&gt; &lt;?php endforeach?&gt;</pre> <p>这里是<code>$user</code>的删除函数:</p> <pre class="brush:php;toolbar:false;">public function delete(){ $result=$this-&gt;db-&gt;delete(&quot;users&quot;,&quot;id={$this-&gt;id}&quot;); return $result; }</pre> <p>这是数据库删除功能:</p> <pre class="brush:php;toolbar:false;">public function delete(string $table,string $where,int $limit=1){ return $this-&gt;connection-&gt;exec(&quot;DELETE FROM $table WHERE $where LIMIT $limit&quot;); }</pre> <p>如何在按下“删除”链接时删除特定用户?!</p> <p>我尝试更改删除功能,但没有取得结果。</p>
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>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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