【发布时间】:2016-02-24 14:48:36
【问题描述】:
我在 item.php 中有这段代码:
while ($row = mysqli_fetch_array($res)) {
$link .= '<br><a href="item.php?id='.$row['item_id'].'">'.$row['item_name'].'</a><br>';
}
echo $link;
所以这会根据有多少结果(在数据库中)生成链接,所以假设用户有 4 个项目,它会将项目名称显示为超链接,但我不确定如何将其链接到我的 itemdetail .php。所以每个项目都将链接到 itemdetail.php,但它们将具有将从 mysql 数据库中获取的唯一信息。
目前我只想让 itemdetail.php 回显项目名称,但我现在想要的是,我想根据 item_id 为每个链接生成一个唯一的会话 id,所以当我按下它时会话 id 被传递给 itemdetail.php,从那里我可以将会话 id 作为字符串传递并从 mysql 中提取数据(这很简单,所以不需要帮助)。
我知道如何在页面之间传递会话 ID,但这仅适用于固定链接(已存在的按钮),但我不知道如何为生成的按钮/链接执行此操作。
仅供参考,我的网址确实显示 /item.php?id=12345, 12345 是我的 item_id,如果有帮助的话。这是当我单击生成的链接时(所以从 /item.php 到 /item.php?id=12345 或每个链接的 item_id 是什么),但当然除了更改 url 之外,链接什么也不做。
tl;dr 为每个生成的链接创建一个唯一 id(最简单的方法可能是获取 item_id 并使用它),将唯一 id 作为会话传递,然后在另一个 php 中回显会话。
提前感谢您提供任何有用的见解。
itemdetail.php
<?php
session_start();
include('connection.php');
echo $_SESSION['advert'];
$aName = $_SESSION['advert'];
?>
atm 没有任何反应,因为 item.php 中的按钮没有连接到这个。如果我尝试:
while ($row = mysqli_fetch_array($res)) {
$link .= '<br><a href="item.php?id='.$row['item_id'].'">'.$row['item_name'].'</a><br>';
if($link == true) {
header("Location:item.php");
}
我收到“已发送的标头”错误
【问题讨论】: