Как получить значение из URL [закрыто]
Я хочу получить значение из URL, чтобы выбрать данные из базы данных по ID. Мне нужно значение для id.
Например, если я открою www.example.com/index.php?id=12
Я хочу получить значение, чей id = 12 в базе данных.
Если я открою www.example.com/index.php?id=7
получить значение, чей id = 7 в базе данных и так далее.
У меня есть код:
$results = mysql_query("SELECT * FROM next WHERE id=$id");
while ($row = mysql_fetch_array($results))
{
$url = $row['url'];
echo $url;
}
5 ответов:
URL сайта:
http://www.example.com/?id=2Код:
$id = intval($_GET['id']); $results = mysql_query("SELECT * FROM next WHERE id=$id"); while ($row = mysql_fetch_array($results)) { $url = $row['url']; echo $url; //Outputs: 2 }
Существует два способа получить переменную из URL в PHP:
Когда Ваш url:
http://www.example.com/index.php?id=7Вы можете получить этотidс помощью команды$_GET['id']или$_REQUEST['id']и сохранить в переменной$id.Давайте посмотрим:
// url is www.example.com?id=7 //get id from url via $_GET['id'] command: $id = $_GET['id']То же самое будет:
Отличие состоит в том, что переменная может быть передана в файл через url или через метод POST.//get id from url via $_REQUEST['id'] command: $id = $_REQUEST['id']Если переменная передается через url, то вы можете получить ее с помощью
Таким образом, как вы видите,$_GET['variable_name']или$_REQUEST['variable_name'], но если переменная размещена, то вам нужно, чтобы вы$_POST['variable_name']или$_REQUST['variable_name']$_REQUEST['variable_name']можно использовать в обоих направлениях.P. S: Также помните-никогда не делайте так:
$results = mysql_query("SELECT * FROM next WHERE id=$id");это может вызвать инъекцию MySQL, и ваша база данных может быть взломана.Попробуйте использовать:
$results = mysql_query("SELECT * FROM next WHERE id='".mysql_real_escape_string($id)."'");
Это значение можно получить с помощью массива
Таким образом, в вашем случае вы можете сохранить это значение в переменной$_GET. Таким образом, значение id будет сохранено в$_GET['id'].$idследующим образом:$id = $_GET['id'];
Вы можете получить доступ к этим значениям с помощью глобальной переменной $_GET
//www.example.com/index.php?id=7 print $_GET['id']; // prints "7"Вы должны проверить все "входящие" данные пользователя-так вот, этот " id " является INT. Не используйте его непосредственно в SQL (уязвимо для SQL-инъекций).