Я хочу передать некоторую переменную 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) я получаю ссылку Link 2 … Можете ли вы понять проблему?
В вашем 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. И гораздо лучший способ заключается в том, что вы включаете переменную $ a и $ b в один файл php. Затем включили, что на всех страницах, где вы собираетесь использовать эту переменную, как упоминает Тим Купер на своем посту. Вы также можете включить это в сеанс.
Вы передаете 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
. Я бы предложил создать общий файл переменных и включить его на всех необходимых страницах.
нашел это решение при 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; ?>
Используйте этот простой метод
$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>";