You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用Session在PHP网页间传递变量?点击链接传ID失败求助

如何不使用Session在两个PHP页面间传递变量(解决点击DIV链接传ID失败的问题)

首先看你的代码,问题主要出在参数传递格式错误、请求方法不匹配和HTML结构错误这几个地方,我一步步帮你修正:

问题分析

  1. 链接参数格式错误:你在firstpage.php里的链接写的是shopping.php?<?php echo $identity?>,这根本没有定义参数名,正确的GET传参格式应该是页面名?参数名=参数值,而且这里你误用了$identity = $_POST['book_id'],循环里应该用当前行的$ResultsRow['id']才对。
  2. 请求方法不匹配:你用链接跳转(这是GET请求),但在secondpage.php里却用$_POST['identity']接收参数,GET参数只能用$_GET超全局变量获取,而且参数名也不对。
  3. HTML结构错误:你的<a>标签闭合顺序混乱,把<div>和<input>的嵌套关系搞反了,这会导致链接失效或者浏览器解析异常。

修正后的代码

1. firstpage.php(传参页面)

<?php 
// 这里的$identity如果没有其他用途可以删除,因为循环里我们直接用查询结果的id
// $identity = $_POST['book_id']; 
while($ResultsRow=mysql_fetch_array($res)) { 
?>
<div class="col-md-2 offset-md-2">
  <div class='thumbnail'>
    <!-- 修正链接,明确传递book_id参数 -->
    <a href="shopping.php?book_id=<?php echo $ResultsRow['id'] ?>" target="_blank">
      <!-- 如果需要显示ID,input可以保留,建议设置为只读避免用户修改 -->
      <input type="text" name="book_id" value="<?php echo $ResultsRow['id'] ?>" readonly>
    </a>
  </div>
</div>
<?php } ?>

2. secondpage.php(接收参数页面)

<p>
<?php 
// 先判断参数是否存在,避免Undefined index报错
$myvarC = isset($_GET['book_id']) ? $_GET['book_id'] : '未获取到图书ID';
echo $myvarC; 
?>
</p>

其他不用Session的传参方式

如果你不想用GET传参(比如参数是敏感数据),可以用POST方式提交:

POST方式示例(firstpage.php)

<?php while($ResultsRow=mysql_fetch_array($res)) { ?>
<div class="col-md-2 offset-md-2">
  <div class='thumbnail'>
    <form action="shopping.php" method="post" target="_blank">
      <!-- 用隐藏域传递ID,用户看不到 -->
      <input type="hidden" name="book_id" value="<?php echo $ResultsRow['id'] ?>">
      <!-- 可以把div做成可点击的提交按钮,或者用普通按钮 -->
      <button type="submit" style="border:none; background:transparent;">
        <input type="text" value="<?php echo $ResultsRow['id'] ?>" readonly>
      </button>
    </form>
  </div>
</div>
<?php } ?>

POST方式接收(secondpage.php)

<p>
<?php 
$myvarC = isset($_POST['book_id']) ? $_POST['book_id'] : '未获取到图书ID';
echo $myvarC; 
?>
</p>

额外提示

你的代码里用了mysql_*系列函数,这些函数已经被PHP官方废弃,建议尽快换成mysqli或者PDO,避免后续版本兼容问题。

内容的提问来源于stack exchange,提问作者Alexis MUGWANEZA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:50:32