php - 通过传递每个链接的 session ID,将动态生成的链接链接到 php

标签 php html mysql session

我在 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 个项目,它会将项目名称显示为超链接,但我不确定如何将其链接到我的项目详细信息.php。因此每个项目都将链接到 itemdetail.php,但它们将具有从 mysql 数据库获取的唯一信息。

目前我只想 itemdetail.php 来回显项目名称,但我现在想要的是,我想根据 item_id 为每个链接生成一个唯一的 session id,所以当我按下它时 session ID被传递到itemdetail.php,从那里我可以将 session ID作为字符串传递并从mysql中提取数据(很简单,所以在这方面不需要帮助)。

我知道如何在页面之间传递 session ID,但这仅适用于固定链接(已经存在的按钮),但我不知道如何对生成的按钮/链接执行此操作。

仅供引用,我的网址确实显示/item.php?id=12345,12345 是我的 item_id,如果有帮助的话。这是当我单击生成的链接时(因此从/item.php 到/item.php?id=12345 或每个链接的 item_id ),但当然,除了更改 url 之外,链接不执行任何其他操作。

tl;dr 为每个生成的链接创建一个唯一的 id(可能是获取 item_id 并使用它的最简单方法),将唯一的 id 作为 session 传递,然后在另一个 php 中回显 session 。

提前感谢您提供任何有用的见解。

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");
}

我收到“ header 已发送”错误

最佳答案

要访问项目 ID(如果您像现在一样传递项目 ID),请使用类似 $_REQUEST['id'] 的内容。

如果您实际上询问 session ID(与问题中显示的应用程序级项目 ID 不同):

session ID 通常通过 cookie 传递。

PHP 将在本地为您完成此操作,无需大量应用程序代码。您只需调用 session_start(),用户的 session 数据就会在 $_SESSION 全局中可用。

在幕后,这是通过让服务器通过 set-cookie header 将 session ID 传递给客户端来实现的,客户端的浏览器会将其返回到同一服务器的所有 future 请求中。在服务器端, session ID 连接到数据存储(默认情况下,本地文件系统上的文件,但可以是数据库或其他任何内容,具体取决于您的 PHP 配置)。

关于php - 通过传递每个链接的 session ID,将动态生成的链接链接到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33855080/

相关文章:

php - 我应该将对象或普通数据传递到 View 中吗?

mysql - 改进MySQL相关文章查询

php - Node.js API 与 express 和 mysql - 仅在设置时应用搜索参数

php mysql echo 变量

javascript - 我怎样才能隐藏我的 html 源代码不被复制?

javascript - javascript中获取超链接后的textarea内容

c# - 扩展 HTML 助手

mysql - 将 MySQLGuid(来自 Devart dotConnect for MySQL)转换为 SQL 中的字符串

mysql - 如何让flask-sqlalchemy的查询对象选择列(或说字段)?

javascript - 正则表达式仅检查开始和结束以及数字