0

我在表格中有一个项目列表,在项目旁边我有一个“显示详细信息”元素。该元素具有:

onClick="drilldown(this.id)";

function drilldown(aClickedId) {
    // do magic, redirect to showDetails.html?id=aClickedId
}

然后我想将 ID 作为参数传递给 HTML 页面并将用户重定向到它。HTML 页面将调用一个 php 脚本,该脚本在相应部分使用来自 DB 的数据填充视图:

显示详细信息.html

<?php 
    $_GET['id'] = getIdFromURL();
    include "showDetails.php"; ?>

这是正确的方法吗?如果是这样,当我“包含”它时如何将参数发送到“showDetails.php”?

4

2 回答 2

1

我不明白确切的问题是什么。在我看来,您可以通过 get 方法传递 id 参数,因为您将用户重定向到 showDetails.php

$id = ""; // store the value of id

<a href="showDetails.php?id=$id">Show Details</a>
于 2013-06-19T06:59:36.847 回答
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。

于 2013-06-19T07:03:14.443 回答