Получить параметр URL в PHP
Я пытаюсь передать URL в качестве параметра url в php, но когда я пытаюсь получить этот параметр, я ничего не получаю
Я использую следующую форму url:
http://localhost/dispatch.php?link=www.google.com
Я пытаюсь получить его через:
$_GET['link'];
но ничего не вернулся. В чем проблема?
8 ответов
$_GET
не является функцией или языковой конструкцией-это просто переменная (массив). Попробуйте:
<?php
echo $_GET['link'];
в частности, это суперглобальная: встроенная переменная, которая заполнена PHP и доступна во всех областях (вы можете использовать ее изнутри функции без глобальные ключевое слово).
поскольку переменная может не существовать, вы можете (и должны) убедиться, что ваш код не вызывает уведомлений с:
<?php
if (isset($_GET['link'])) {
echo $_GET['link'];
} else {
// Fallback behaviour goes here
}
кроме того, если вы хотите пропустить проверку вручную индекса и, возможно, добавить дополнительные проверки, вы можете использовать фильтр:
<?php
echo filter_input(INPUT_GET, 'link', FILTER_SANITIZE_URL);
пожалуйста, напишите ваш код
<?php
echo $_GET['link'];
?>
или
<?php
echo $_REQUEST['link'];
?>
do работа...
чтобы убедиться, что вы всегда в безопасности, не получая все виды нежелательных фильтров вставки кода:
echo filter_input(INPUT_GET,"link",FILTER_SANITIZE_STRING);
Читать далее php.net функции filter_input или описание различных фильтров
использовать это. Я сделал это в диспетчерской.РНР.
$parameter = $_SERVER['QUERY_STRING'];
echo $parameter;
or Just use
echo $_GET['link'];
принятый ответ хорош. Но если у вас есть такой сценарий:
http://www.mydomain.me/index.php?state=California.php#Berkeley
вы можете рассматривать именованный якорь как строку запроса следующим образом:
http://www.mydomain.me/index.php?state=California.php&city=Berkeley
затем получите доступ к нему следующим образом:
$Url = $_GET['state']."#".$_GET['city'];
Я получаю ничего $_GET["..."]
(Эл.г print_r($_GET)
дал пустой массив), еще $_SERVER['REQUEST_URI']
показанный материал должен быть там. В конце концов оказалось ,что я попал на веб-страницу только потому, что мой.откройте файл. htaccess перенаправлял его там (моя 404 обработчик был тот же .php-файл, и я сделал опечатку в браузере при тестировании).
просто изменение имени означало, что тот же php-код работал, как только перенаправление 404 не срабатывало!
так есть способы $_GET
ничего не может вернуть, даже если код php может быть правильным.
$Query_String = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1] );
var_dump($Query_String)
массив ( [ 0] => link=www.google.com )
кто ничего не получает обратно, я думаю, он просто должен заключить результат в HTML-теги,
такой:
<html>
<head></head>
<body>
<?php
echo $_GET['link'];
?>
<body>
</html>