Передача переменной php с использованием URL-адреса
Я хочу передать некоторую переменную php с помощью url... Я пробовал следующий код.
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
if ($_GET['link']==$a)
{
echo "Link 1 Clicked";
} else {
echo "Link 2 Clicked";
}
?></body></html>
код >
при нажатии на ссылки (то есть как на Link1, так и на Link2), я получаю ссылку 2. Вы можете понять проблему?
Ответы
Ответ 1
В вашем link.php ваш оператор эха должен быть таким.
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. И гораздо лучший способ заключается в том, что вы включаете переменную $a и $b в один файл php. Затем включили, что на всех страницах, где вы собираетесь использовать эту переменную, как упоминает Тим Купер на своем посту. Вы также можете включить это в сеанс.
Ответ 2
Вы передаете link=$a
и link=$b
в hrefs для A и 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
. Я бы предложил создать общий файл переменной и включить его на всех необходимых страницах.
Ответ 3
нашел это решение при skytopia...
ВНУТРИ "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>
ВНУТРИ "page2c.php"
<?php
// Retrieve the URL variables (using PHP).
$num = $_GET['myNumber'];
$fruit = $_GET['myFruit'];
echo "Number: ".$num." Fruit: ".$fruit;
?>
Ответ 4
Используйте этот простой способ
$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>";