it-roy-ru.com

Как установить переменную $ _GET

Как установить переменную, которую сможет использовать функция $_GET, не отправляя форму с помощью action = GET?

15
dave

Вы можете создать ссылку, получив переменную в href.

<a href="www.site.com/hello?getVar=value" >...</a>
12
Gaurav

$_GET содержит ключи/значения, которые передаются вашему сценарию в URL.

Если у вас есть следующий URL:

http://www.example.com/test.php?a=10&b=plop

Тогда $_GET будет содержать:

array
  'a' => string '10' (length=2)
  'b' => string 'plop' (length=4)


Конечно, поскольку $_GET не только для чтения, вы также можете установить некоторые значения из своего кода PHP, если это необходимо:

$_GET['my_value'] = 'test';

Но это не похоже на хорошую практику, так как предполагается, что $_GET содержит данные из URL, запрошенного клиентом.

36
Pascal MARTIN

Вы можете использовать переменные GET в параметре action вашего элемента form. Пример:

<form method="post" action="script.php?foo=bar">
    <input name="quu" ... />
    ...
</form>

Это даст вам foo как переменную GET и quu как переменную POST.

3
Sander Marechal

Если вы хотите подделать $ _GET (или $ _POST) при включении файла, вы можете использовать его так же, как и любой другой var, например:

$_GET['key'] = 'any get value you want';
include('your_other_file.php');
1
oriadam

Один из способов установить переменную $_GET - это проанализировать URL-адрес с помощью parse_url() , А затем проанализировать строку $query с помощью parse_str() , которая устанавливает переменные в глобальную переменную $_GET.

Этот подход полезен, 

  • если вы хотите проверить обработку параметров GET без выполнения реальных запросов, например, для проверки входящих параметров на наличие и фильтрацию входных данных и очистки входящих переменных.
  • и когда вы не хотите каждый раз создавать массив вручную, а используете обычный URL

function setGetRequest($url)
{
    $query = parse_url($url, PHP_URL_QUERY);
    parse_str($query, $_GET);
}

$url = 'http://www.example.com/test.php?a=10&b=plop';

setGetRequest($url);   

var_dump($_GET);

Результат: $_GET содержит

array (
  'a' => string '10' (length=2)
  'b' => string 'plop' (length=4)
)
1
Jens A. Koch

Вы можете использовать следующий код для перенаправления вашего клиента в скрипт с присоединенными переменными _GET.

header("Location: examplepage.php?var1=value&var2=value");
die();

Это приведет к перенаправлению скрипта, убедитесь, что die(); там, или они могут не перенаправить.

0
Joseph Orlando

Переменная $_GET заполняется из параметров, установленных в URL. С URL http://example.com/test.php?foo=bar&baz=buzz вы можете получить $_GET['foo'] и $_GET['baz']. Таким образом, чтобы установить эти переменные, вам нужно всего лишь сделать ссылку на этот URL.

0
Theo

Для формы используйте:

<form name="form1" action="<?=$_SERVER['PHP_SELF'];?>" method="get">

и для получения значения используйте метод get следующим образом:

$value = $_GET['name_to_send_using_get'];
0
sreekanth