如何使用 URL 传递 PHP 变量

2022-08-30 21:51:54

我想使用URL传递一些PHP变量。

我尝试了以下代码:

链接.php

<html>
<body>
<?php
$a='Link1';
$b='Link2';
echo '<a href="pass.php?link=$a">Link 1</a>';
echo '<br/>';
echo '<a href="pass.php?link=$b">Link 2</a>';
?></body></html>`</pre></code>

pass.php
<pre><code>`<html>
<body>
<?php
if ($_GET['link']==$a)
{
echo "Link 1 Clicked";
} else {
echo "Link 2 Clicked";
}
?></body></html>

单击链接和 时,我得到“链接2单击”。为什么?Link1Link2


答案 1

在您的链接中.php您的声明必须如下所示:echo

echo '<a href="pass.php?link=' . $a . '>Link 1</a>';
echo '<a href="pass.php?link=' . $b . '">Link 2</a>';

然后在您的传递中.php您无法使用,因为它未使用预期的字符串值进行初始化。$a

您可以直接将其与类似如下的字符串进行比较:

if($_GET['link'] == 'Link1')

另一种方法是首先将变量初始化为与链接.php相同的操作。而且,一个更好的方法是将和变量包含在单个PHP文件中,然后将其包含在所有页面中,您将使用这些变量,正如Tim Cooper在他的帖子中提到的那样。您还可以在会话中包含此内容。$a$b


答案 2

您正在分别通过 A 和 B 的 hrefs。它们被视为字符串,而不是变量。以下操作应该为您修复此问题:link=$alink=$b

echo '<a href="pass.php?link=' . $a . '">Link 1</a>';

// and

echo '<a href="pass.php?link=' . $b . '">Link 2</a>';

的值也不包括在 中。我建议制作一个通用的变量文件,并将其包含在所有必要的页面上。$apass.php


推荐