Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用URL传递PHP变量_Php_Url - Fatal编程技术网

如何使用URL传递PHP变量

如何使用URL传递PHP变量,php,url,Php,Url,我想使用URL传递一些PHP变量 我尝试了以下代码: link.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>&

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

我尝试了以下代码:

link.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>

`
pass.php
`

单击链接
Link1
Link2
,我会得到“Link2 clicked”。为什么?

您分别在a和b的HREF中传递了
link=$a
link=$b
。它们被视为字符串,而不是变量。以下内容将为您解决此问题:

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

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

在link.php中,您的
echo
语句必须如下所示:

if($_GET['link'] == 'Link1')
// Send the variables myNumber=1 and myFruit="orange" to the new PHP page...
<a href="page2c.php?myNumber=1&myFruit=orange">Send variables via URL!</a> 

    //or as I needed it.
    <a href='page2c.php?myNumber={$row[0]}&myFruit={$row[1]}'>Send variables</a>
另一种方法是首先将变量初始化为与使用link.php相同的内容。还有一种更好的方法是将
$a
$b
变量包含在一个PHP文件中,然后像Tim Cooper在文章中提到的那样,将其包含在所有要使用这些变量的页面中。您也可以在会话中包含此解决方案。

我在Skytopia的“”中找到了此解决方案

在“page1.php”或“page1.html”中:

//将变量myNumber=1和myFruit=“orange”发送到新的PHP页面。。。
//或者在我需要的时候。
在“page2c.php”中:


使用这个简单的方法

$a='Link1';
$b='Link2';
$a='Link1';
$b='Link2';
回声“;
回声“
”; 回声“;
以上所有答案都是正确的,但我注意到了一些非常重要的问题。在变量和等号之间留一个空格可能会导致问题。例如,
(?variablename=value)

只需将

echo '<a href="pass.php?link=' . $a . '">Link 1</a>';
在pass.php中,您将得到答案,并在link.php中引用双引号:

echo';

<代码>查看PASS.PHP页面上的URL,注意什么??是的,变量丢失了(没有显示在URL中)…修正了你应该考虑引用的问题,你能解释一下它是如何工作的吗?myNumber={$row[0]}我无法检索此值请参见“”。因此,对从其他网站借来的信息给予适当的归属是非常重要的。
  $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>";
$a='Link1';
$b='Link2';
echo '<a href="pass.php?link=' . $a . '">Link 1</a>';