PHP使用foreach生成表格时如何传递变量到另一页面
解决PHP遍历生成表格传参固定的问题
问题原因
你原代码中URL参数部分的store[0]是写死在字符串内的普通文本,没有作为PHP变量动态输出,导致所有链接传递的参数都是固定的字符串,而非每个店铺对应的实际名称。
修正代码(列表页遍历部分)
<table class='table'> <thead> <tr> <th>name</th> </tr> </thead> <tbody> <?php foreach ($stores as $store){ // 将动态店铺名拼接进URL,同时做URL编码兼容特殊字符 echo '<tr> <td><a href="store_information.php?store_name='.urlencode($store[0]).'">'.$store[0].'</a></td> </tr>'; } ?> </tbody> </table>
接收页(store_information.php)优化代码
增加参数存在性判断和输出转义,避免报错和安全风险:
<?php // 不存在参数时默认赋值为空字符串,避免PHP警告 $store_name = $_GET['store_name'] ?? ''; // 转义特殊字符后输出,防范XSS攻击 echo htmlspecialchars($store_name); ?>
修改完成后点击对应店铺链接,即可在目标页正常输出选中的店铺名称。
内容的提问来源于stack exchange,提问作者TOMÁS LECAROS
相关产品推荐
相关产品推荐

