it-swarm.com.ru

передача переменной 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) я нажимаю на Link 2 .... Можете ли вы выяснить проблему?

15
chetan

В вашем 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. Затем включил это во все страницы, где вы собираетесь использовать эту переменную, как Тим Купер упомянул в своем посте. Вы также можете включить это в сеанс.

22
ace

Вы передаете 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. Я бы предложил создать общий файл переменных и включить его во все необходимые страницы.

6
Tim Cooper

Все вышеприведенные ответы верны, но я заметил кое-что очень важное. Оставление пробела между переменной и знаком равенства может привести к проблеме. Например, (?variablename =value)

2
Hassan Musa dabra

Используйте этот простой метод

  $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>";
1
jonah

нашел это решение в скайтопии ...

ВНУТРИ "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;
?>
0
palyarmerc

просто поместите $a='Link1'; $b='Link2'; в ваш pass.php, и вы получите ответ и сделаете двойную кавычку в вашем link.php 

ЗДЕСЬ: echo '<a href="pass.php?link=' . $a . '">Link 1</a>';

0
Devarsh Bhatt