在 PHP 中使用复选框进行多行删除
提供的代码旨在从 MySQL 数据库表中删除多行。但是,当前的实现遇到了没有删除任何行的问题。要解决此问题,需要对代码进行某些修改。
第一个问题在于如何接收复选框值。您必须将复选框值视为数组,类似于:
<code class="php"><input name="checkbox[]" type="checkbox" value="<?php echo $row['link_id']; ?>"></code>
此更改将允许您对选定的复选框进行计数和循环以进行删除。
另一个错误是缺少查询执行中的数据库连接。您未能将 $dbc 传递给 mysqli_query() 函数。正确的语法应该是:
<code class="php">$result = mysqli_query($dbc, $sql);</code>
以下是更正后的代码:
<code class="php"><?php // Retrieve data from database and prepare HTML table $dbc = mysqli_connect('localhost', 'root', 'admin', 'sample') or die('Error connecting to MySQL server'); $query = "select * from links ORDER BY link_id"; $result = mysqli_query($dbc, $query) or die('Error querying database'); // Start form and table for displaying links and checkboxes echo '<form name="form1" method="post" action="">'; echo '<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">'; // Header row echo '<tr>'; echo '<td colspan="4" align="center" bgcolor="#FFFFFF"><strong>Delete multiple links</strong></td>'; echo '</tr>'; echo '<tr>'; echo '<td align="center" bgcolor="#FFFFFF">#</td>'; echo '<td align="center" bgcolor="#FFFFFF"><strong>Link ID</strong></td>'; echo '<td align="center" bgcolor="#FFFFFF"><strong>Link Name</strong></td>'; echo '<td align="center" bgcolor="#FFFFFF"><strong>Link URL</strong></td>'; echo '</tr>'; // Data rows while ($row = mysqli_fetch_array($result)) { echo '<tr>'; echo '<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" value="' . $row['link_id'] . '"></td>'; echo '<td bgcolor="#FFFFFF">' . $row['link_id'] . '</td>'; echo '<td bgcolor="#FFFFFF">' . $row['link_name'] . '</td>'; echo '<td bgcolor="#FFFFFF">' . $row['link_url'] . '</td>'; echo '</tr>'; } // Submit button echo '<tr>'; echo '<td colspan="4" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" value="Delete"></td>'; echo '</tr>'; // Closing tags echo '</table>'; echo ''; // Delete rows if submit button is clicked if (isset($_POST['delete'])) { $checkbox = $_POST['checkbox']; for ($i = 0; $i '; } } mysqli_close($dbc); ?></code>
这些修改应该可以解决问题,并使代码能够使用复选框从 MySQL 表中删除多行.
以上是如何使用 PHP 中的复选框从 MySQL 数据库表中删除多行,以及应该避免哪些常见错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

要保护应用免受与会话相关的XSS攻击,需采取以下措施:1.设置HttpOnly和Secure标志保护会话cookie。2.对所有用户输入进行输出编码。3.实施内容安全策略(CSP)限制脚本来源。通过这些策略,可以有效防护会话相关的XSS攻击,确保用户数据安全。

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显着提升应用在高并发环境下的效率。

thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceIsiseededeedeedeedeedeedeedto to to avoidperformance andununununununexpectedLogOgouts.3)

在PHP中,可以使用session_name()函数配置会话名称。具体步骤如下:1.使用session_name()函数设置会话名称,例如session_name("my_session")。2.在设置会话名称后,调用session_start()启动会话。配置会话名称可以避免多应用间的会话数据冲突,并增强安全性,但需注意会话名称的唯一性、安全性、长度和设置时机。

会话ID应在登录时、敏感操作前和每30分钟定期重新生成。1.登录时重新生成会话ID可防会话固定攻击。2.敏感操作前重新生成提高安全性。3.定期重新生成降低长期利用风险,但需权衡用户体验。

在PHP中设置会话cookie参数可以通过session_set_cookie_params()函数实现。1)使用该函数设置参数,如过期时间、路径、域名、安全标志等;2)调用session_start()使参数生效;3)根据需求动态调整参数,如用户登录状态;4)注意设置secure和httponly标志以提升安全性。

在PHP中使用会话的主要目的是维护用户在不同页面之间的状态。1)会话通过session_start()函数启动,创建唯一会话ID并存储在用户cookie中。2)会话数据保存在服务器上,允许在不同请求间传递数据,如登录状态和购物车内容。

如何在子域名间共享会话?通过设置通用域名的会话cookie实现。1.在服务器端设置会话cookie的域为.example.com。2.选择合适的会话存储方式,如内存、数据库或分布式缓存。3.通过cookie传递会话ID,服务器根据ID检索和更新会话数据。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)