Как установить переменную, которую функция $_GET
сможет использовать, без отправки формы с помощью action = GET
?
Как установить переменную $_GET
Ответ 1
Вы можете создать ссылку, получив переменную в href.
<a href="www.site.com/hello?getVar=value" >...</a>
Ответ 2
$_GET
содержит ключи/значения, которые передаются на ваш script в 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-адреса, запрошенного клиентом.
Ответ 3
Вы можете использовать переменные GET в параметре action
вашего элемента form
. Пример:
<form method="post" action="script.php?foo=bar">
<input name="quu" ... />
...
</form>
Это даст вам foo
как переменную GET и quu
как переменную POST.
Ответ 4
Если вы хотите подделать $_GET (или $_POST) при включении файла, вы можете использовать его, как если бы вы использовали любой другой var, например:
$_GET['key'] = 'any get value you want';
include('your_other_file.php');
Ответ 5
Переменная $_GET
заполняется из параметров, заданных в URL-адресе. Из URL http://example.com/test.php?foo=bar&baz=buzz
вы можете получить $_GET['foo']
и $_GET['baz']
. Таким образом, чтобы установить эти переменные, вам нужно только сделать ссылку на этот URL.
Ответ 6
Для формы используйте:
<form name="form1" action="<?=$_SERVER['PHP_SELF'];?>" method="get">
и для получения значения используйте метод get следующим образом:
$value = $_GET['name_to_send_using_get'];
Ответ 7
Вы можете использовать следующий код для перенаправления своего клиента на script с прилагаемыми переменными _GET.
header("Location: examplepage.php?var1=value&var2=value");
die();
Это приведет к перенаправлению script, убедитесь, что die();
хранится там, или они не могут перенаправляться.
Ответ 8
Один из способов установить переменную $_GET
- это проанализировать URL-адрес, используя parse_url()
а затем проанализируйте строку $query
, используя parse_str()
, которая устанавливает переменные в $_GET
global.
Этот подход полезен,
- если вы хотите протестировать обработку параметров 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)
)
Ответ 9
Я знаю, что это старый поток, но я хотел опубликовать свои 2 цента...
Используя Javascript, вы можете достичь этого, не используя $_POST, и, таким образом, не перезагружать страницу.
<script>
function ButtonPressed()
{
window.location='index.php?view=next'; //this will set $_GET['view']='next'
}
</script>
<button type='button' onClick='ButtonPressed()'>Click me!</button>
<?PHP
if(isset($_GET['next']))
{
echo "This will display after pressing the 'Click Me' button!";
}
?>