如何在HTML的apdiv中编写PHP变量 解决编辑页book_ID无法读取问题
错误原因
编辑、删除链接的href属性没有正确嵌入PHP变量输出逻辑,你写的. $row['book_ID'] .是PHP字符串拼接语法,直接写在HTML中不会被解析,只会作为普通字符串显示,所以参数无法正常传递。
修复方案
将跳转链接部分的代码调整为如下写法,用PHP输出图书ID值:
<!-- 编辑链接修改为 --> <a href="edit_book.php?id=<?php echo htmlspecialchars($row['book_ID']); ?>">编辑</a> <!-- 删除链接修改为 --> <a href="delete_book.php?id=<?php echo htmlspecialchars($row['book_ID']); ?>">删除</a>
完整修复后代码
<div id="apDiv8"> <!-- 此处渲染图书列表表格 --> <table border="2" style="width:1049px"> <tr> <td><div align="center"><b>编辑</b></div></td> <td><div align="center"><b>删除</b></div></td> <td><div align="center"><b>图书ID</b></div></td> <td><div align="center"><b>图书名称</b></div></td> <td><div align="center"><b>图书作者</b></div></td> <td><div align="center"><b>图书页数</b></div></td> <td><div align="center"><b>录入日期</b></div></td> <td><div align="center"><b>图书类型</b></div></td> <td><div align="center"><b>出版年份</b></div></td> </tr> <?php while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { ?> <tr> <td><div align="center"><a href="edit_book.php?id=<?php echo htmlspecialchars($row['book_ID']); ?>">编辑</a></div></td> <td><div align="center"><a href="delete_book.php?id=<?php echo htmlspecialchars($row['book_ID']); ?>">删除</a></div></td> <td><div align="center"><?php echo $row['book_ID']; ?></div></td> <td><?php echo $row['book_title']; ?></td> <td><?php echo $row['book_author']; ?></td> <td><div align="center"><?php echo $row['book_page']; ?></div></td> <td><div align="center"><?php echo $row['book_entryDate']; ?></div></td> <td><div align="center"><?php echo $row['book_type']; ?></div></td> <td><div align="center"><?php echo $row['book_year']; ?></div></td> </tr> <?php } ?> </table> </div>
补充说明:用
htmlspecialchars()包裹输出的变量是为了避免XSS跨站脚本攻击,属于安全优化项,不会影响参数传递逻辑。
内容的提问来源于stack exchange,提问作者mal_ai
相关产品推荐
相关产品推荐

