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

如何使用PHP在URL中传递变量?,php,Php,我有一个名为$tags的变量,它只引用数据库字段。当用户单击带有给定$tags输出的链接时,我希望该数据存储在目标页面上的变量中 例如,用户在一个包含多个任务的todolist.php上。他们可以通过单击指向partslist.php页面的链接来查看与此任务关联的部分。在链接中,我需要包含$tags数据,以便partslist.php页面上的javascript知道要突出显示哪个部分 因此,我需要知道1如何在todolist.php的链接中输出$tags,2如何接收该输出并将其存储在partsl

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

例如,用户在一个包含多个任务的todolist.php上。他们可以通过单击指向partslist.php页面的链接来查看与此任务关联的部分。在链接中,我需要包含$tags数据,以便partslist.php页面上的javascript知道要突出显示哪个部分

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

我也做过类似的POST和GET命令,但我不太明白这一点。。这就是你要问的吗?或者有多个标签?请给出示例/代码块/链接

在partslists侧,您可以执行以下操作:

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

您可以通过以下两种方式之一将URL传递到页面:$\u GET或$\u POST$_POST要求您具有如下表单设置:

<form method="post" action="page.php">
<input type="text" name="myvariable" value="test">
<input type="submit">
</form>
而且$\u GET要求您链接到页面,如:

<a href="page.php?myvariable=test">click me</a>
在第一个场景中,当用户点击submit时,page.php将有权访问从$\u POST数组提交的变量。在这种情况下,$_POST['myvariable']将等于test

在第二种情况下,$\u GET['myvariable']将等于test。

$tags是数组吗

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

partslist.php?标记[]=tag1和标记[]=tag2和标记[]=tag3

如果您随后在partslist.php脚本中输出$\u GET global,您将得到如下数组:

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

)

如果他们单击的链接的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中插入PHP,就像在HTML中插入PHP一样。所以,你可以说:

//JS
var foo = <?PHP echo $foo ?>;
或者,您可以将数据存储在HTML元素中:

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

。。。然后使用Javascript获取它。

+1!提示:使用PHPs转义$tags变量。这允许您传递任何字符串,而不考虑空格等。标记内部需要@Stewie urlencode@Stewie:urlencode是一个PHP函数。您应该这样使用它:partslist.php?tags=OOPS!试图太快:谢谢;