如何使用PHP在URL中传递变量?

时间:2010-09-28 14:31:10

标签: php

我有一个名为$tags的变量,它只是从数据库字段引用。当用户单击其中包含给定$tags输出的链接时,我希望将该数据存储在目标页面上的变量中。

例如,用户位于todolist.php,其中包含多个任务。通过单击发送到partslist.php页面的链接,他们可以看到与此任务关联的部件。在链接中,我需要包含$tags数据,因此partslist.php页面上的javascript知道要突出显示的部分。

所以我需要知道 1)如何在todolist.php的链接中输出$tags 2)我如何收到该输出并将其存储在partslist.php页面上的变量中?

我已经完成了类似的POST和GET命令,但我无法理解这一点。

4 个答案:

答案 0 :(得分:4)

partslist.php?tags=<?php echo urlencode($tags) ?> ..这就是你问的问题吗?或者有多个标签?请举例/代码块/链接

在零件清单方面,您可以这样做:

$tags  = $_GET['tags']; // You don't need urldecode here, because $_GET is a supergobal and it is already decoded. 

答案 1 :(得分:2)

您可以通过以下两种方式之一将URL传递给网页:$ _GET或$ _POST。 $ _POST要求您具有以下表单设置:

<form method="post" action="page.php">
<input type="text" name="myvariable" value="test">
<input type="submit">
</form>

$ _GET要求您链接到以下页面:

<a href="page.php?myvariable=test">click me</a>

在第一个场景中,当用户点击提交时,page.php将可以访问从$ _POST数组提交的变量。在这种情况下,$ _POST ['myvariable']将等于“test”;

在第二个中,$ _GET ['myvariable']将等于测试。

答案 2 :(得分:1)

是$ tag一个数组?

如果是这样,您可以按以下格式输出$ tags数组

partslist.php?tags[]=tag1&tags[]=tag2&tags[]=tag3

如果你随后在partslist.php脚本中输出$ _GET全局,你最终会得到一个这样的数组:

Array
(
    [tags] => Array
        (
            [0] => "tag1"
            [1] => "tag2"
            [2] => "tag3"
        )

)

答案 3 :(得分:0)

如果他们点击的链接的URL包含URL参数,那么这些参数将在目标页面上可用。例如,

// Generate a link like this with PHP
<a href="somepage.php?name=bob&weight=150">

// On somepage.php
$name = $_GET['name'];
$weight = $_GET['weight'];

注意:为了安全起见,您可能希望在将此数据放入链接之前对其进行加密,并在另一端对其进行解密。

对于将一些数据传递给Javascript的部分,您可以在Javascript中插入与HTML相同的PHP。所以,你可以说:

//JS
var foo = <?PHP echo $foo ?>;

或者,您可以将数据存储在HTML元素中:

<div id="foo" data="<?PHP echo $data ?>">

...然后使用Javascript抓住它。