我有一个表格中的项目列表,旁边的项目我有一个“显示详细信息”元素。这个元素有:
onClick="drilldown(this.id)";
function drilldown(aClickedId) {
// do magic, redirect to showDetails.html?id=aClickedId
}
然后我想将ID作为参数传递给HTML页面并将用户重定向到它。 HTML页面将调用一个php脚本,该脚本使用相应部分中DB的数据填充视图:
showDetails.html :
<?php
$_GET['id'] = getIdFromURL();
include "showDetails.php"; ?>
这是正确的做法吗?如果是这样,当我“包括”它时,如何将参数发送到“showDetails.php”?
答案 0 :(得分:1)
我不明白究竟是什么问题。在我看来,您可以通过get方法传递id参数,因为您将用户重定向到showDetails.php
$id = ""; // store the value of id
<a href="showDetails.php?id=$id">Show Details</a>
答案 1 :(得分:1)
您可以在Javascript中重定向:
function drilldown(aClickedId) {
window.location = "showDetails.html?id=" + aClickedId;
}
默认情况下,showDetails.html
不会在其中执行PHP代码,因为只有.php
文件将被解析并作为PHP执行。可以将Web服务器配置为解析和执行.html
文件,但默认情况下不会。
你不需要这个:
$_GET['id'] = getIdFromURL();
您需要做的就是在showDetails.php中使用$_GET['id']
。所有包含都可以访问$_GET
数组,因为它是一个超全局数据库。当包含一个脚本时,它只是简单地插入到该点,并且就像它是父节点的一部分一样被执行,因此它可以访问包含时可用的所有变量和函数。
很难评论这种方法是否是最佳做法,因为我认为没有足够的信息来说明你在做什么。例如,如果获取单击的元素是锚点(<a></a>
),那么您根本不需要Javascript重定向,只需将ID放入href。