Передача переменной 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>";