我想使用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>
pass.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>
点击链接(即Link1和Link2)我点击链接2 ....你能搞清楚问题吗?
答案 0 :(得分:22)
在你的link.php中,你的echo语句必须是这样的。
echo '<a href="pass.php?link=' . $a . '>Link 1</a>';
echo '<a href="pass.php?link=' . $b . '">Link 2</a>';
然后在你的pass.php中你不能使用$ a,因为它没有用你想要的字符串值初始化。
虽然你可以直接将它与这样的字符串进行比较。
if($_GET['link'] == 'Link1')
另一种方法首先将变量初始化为与link.php相同的变量。更好的方法是在单个php文件中包含$ a和$ b变量。然后包括在你将要使用该变量的所有页面中,Tim Cooper在他的帖子中提到。您也可以在会话中包含此内容。
答案 1 :(得分:6)
您分别在A和B的href中传递link=$a
和link=$b
。它们被视为字符串,而不是变量。以下内容应该为您解决:
echo '<a href="pass.php?link=' . $a . '">Link 1</a>';
// and
echo '<a href="pass.php?link=' . $b . '">Link 2</a>';
$a
的价值也不包含在pass.php
中。我建议制作一个公共变量文件并将其包含在所有必要的页面上。
答案 2 :(得分:2)
以上所有答案都是正确的,但我注意到一些非常重要的内容。在变量和等号之间留一个空格可能会导致问题。例如,(?variablename =value)
答案 3 :(得分:1)
使用这种简单的方法
$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>";
答案 4 :(得分:0)
在skytopia找到了这个解决方案......
INSIDE“page1.php”或“page1.html”
// 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>
INSIDE“page2c.php”
<?php
// Retrieve the URL variables (using PHP).
$num = $_GET['myNumber'];
$fruit = $_GET['myFruit'];
echo "Number: ".$num." Fruit: ".$fruit;
?>
答案 5 :(得分:0)
只需将$a='Link1';
$b='Link2';
放在pass.php中,您将得到答案并在link.php中加双引号
此处:echo '<a href="pass.php?link=' . $a . '">Link 1</a>';