Получение переменных с URL - PullRequest
2 голосов
/ 14 сентября 2011

URL:

url.com/index.php?id=1000

Как получить 1000 из id и добавить его в <h1></h1> на странице?

Ответы [ 6 ]

6 голосов
/ 14 сентября 2011

Вы получаете число из массива $ _ GET и экранируете его с помощью htmlspecialchars , чтобы предотвратить атаки XSS:

echo '<h1>', htmlspecialchars($_GET['id']), '</h1>';
2 голосов
/ 14 сентября 2011

Использовать $_GET:

$id = isset($_GET['id']) ? (int) $_GET['id'] : FALSE;
echo '<h1>', $id, '</h1>';

Если URL-адрес находится в переменной, используйте parse_url Документы и parse_str Документы :

$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $vars);
$id = isset($vars['id']) ? (int) $vars['id'] : FALSE;
echo '<h1>', $id, '</h1>';

Редактировать:

Если у вас есть зарегистрировать глобальные переменные включено (что очень не рекомендуется, так что просто для полноты) вы можете сделать это:

$id = isset($id) ? (int) $id : FALSE;
echo '<h1>', $id, '</h1>';

Обычно в приложении, которое вы хотитепара из $_GET и оберните его в объект запроса:

class Request
{
    public function getParameter($name, $default = NULL)
    {
        return isset($_GET[$name]) ? $_GET[$name] : $default;
    }
    public function getParameterInt($name, $default = NULL)
    {            
        $value = $this->getParameter($name, NULL);
        return NULL === $value ? $default : (int) $value;
    }
}

$request = new Request();
$id = $request->getParameterInt('id');
echo '<h1>', $id, '</h1>';

После этого вы можете заменить реализацию запроса на другую, чтобы запустить и протестировать ваше приложение с запросами, отличными от http.Это также помогает лучше структурировать ваш код для повторного использования.

2 голосов
/ 14 сентября 2011
$id = $_GET["id"];
//Perform checks on $id
echo '<h1>'.$id.'<h1/>';

Если вы хотите добавить его в h1, вы можете вернуть его назад и использовать javascript, чтобы установить innerhtml тега.

2 голосов
/ 14 сентября 2011
<h1><?php echo $_REQUEST["id"]; ?></h1>
2 голосов
/ 14 сентября 2011

Вы можете использовать глобальный массив $_REQUEST[], или в вашем случае явный $_GET:

<h1><?php echo $_GET['id']; ?></h1>

Для предотвращения XSS вы также должны использовать htmlspecialchars:

<h1><?php echo htmlspecialchars($_GET['id']); ?></h1>
2 голосов
/ 14 сентября 2011

Вы должны использовать массив $ _ GET superglobal , который содержит параметры строки запроса.

Например: <h1><?php echo $_GET['id']; ?></h1>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...