Получить параметр URL в PHP
Я пытаюсь передать URL в качестве параметра url в php, но когда я пытаюсь получить этот параметр, я ничего не получаю
Я использую следующую форму url:
http://localhost/dispatch.php?link=www.google.com
Я пытаюсь получить его через:
$_GET['link'];
но ничего не вернулся. В чем проблема?
8 ответов:
$_GET
- это не функция или конструкция языка-это просто переменная (массив). Попробуйте:<?php echo $_GET['link'];
в частности, это superglobal: встроенная переменная, которая заполняется 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-код может быть правильным.