TL:DR - 我需要将一个锚标记值传递给另一个php页面并寻找SESSION / COOKIES的替代品。不鼓励使用POST / GET去表格,因为我不想提交。
详细说明:
我有一个php页面,按照以下内容列出了列表形式的mysqli结果集:
ID fname姓氏
<12> John Doe 13卡尔布朗
现在我想将ID字段作为链接,我可以使用HTML锚标记来实现。点击后,我想重定向到另一个页面并传递点击的ID(例如12或13)以供进一步使用。
我知道这可以通过cookie或会话实现,但我想检查是否有另一种方法可以做到这一点。此外,我想避免使用表格,以避免必须“提交”实际表格。我希望将这种体验保持为点击和重定向。
这里给出一些上下文是我的PHP代码:
<?php
include 'functions.php';
session_start(); //Fetches session already initialized in other pages.
$page_fund=new page_fundementals; //simply gets menu items
$conn = new consultant_ops; //executes a mysqli query to get the results used further below
$result=$conn->listPatients($_SESSION['user_id']); //passes the $_SESSION['user_id'] to a listPatients method in order to get the mysqli resultset
foreach($result as $row){
$i=0;
${'p_id'.$i}=$row['p_id'];
${'p_fname'.$i}=$row['p_fname'];
${'p_surname'.$i}=$row['p_surname'];
echo ${'p_id'.$i}." ".${'p_fname'.$i}."<br />";
$i++;
}
?>
答案 0 :(得分:2)
有这样的锚标记
<a href="sample.php?id=<?= $user->id ?>">
<?= $user->name ?>
</a>
然后可能在你的sample.php
<?php
if(isset($_GET['id']) {
$user_id = $_GET['id'];
/* your code here to get user from database, maybe
SELECT * FROM users WHERE id = $user_id something like that
then format afterwards */
}
?>
也许是那样的
答案 1 :(得分:1)
为什么不在GET请求中传递变量?
echo "<a href='page.php?pid=".$row['p_id']."'>redirect</a>";
您可以在目标page.php上访问
$pid = $_GET['pid'];
答案 2 :(得分:1)
在锚标记中,您可以为例如
指定查询参数<a href="todo.php?id=12"> 12 </a>
在这种情况下,当用户点击12时,他将被重定向到todo.php?id = 12。
在todo.php中你可以获取$ _GET ['id']并相应地工作。