Заполните поля из базы данных на основе пользовательского ввода SQL

У меня есть форма, где пользователь вводит свой идентификатор, а затем заполняет свое имя из базы данных? Существует целая форма, я просто скопировал соответствующие части и sql ниже.

User ID: <input value="User ID" name="user_id">

$sql = "SELECT user_firstname, user_surname FROM users_tbl WHERE xxxx = users_tbl.user_id"
$result = pg_query($sql);

Я сделал это далеко, но я не уверен, что делать.

2 ответа

Решение

Вы, вероятно, хотите что-то вроде...

page1.php

<form method="POST" action="page2.php">
User ID: <input name="user_id" value="User ID">
<input type="submit" value="go">
</form>

page2.php

$id = mysql_escape_string( $_POST['user_id'] );
$sql = "SELECT `user_firstname`, `user_surname` FROM `users_tbl `WHERE `id` = '$id' LIMIT 1";
...

Вы должны фильтровать переменные формы GET или POST. Таким образом, правильный путь будет:

$sql = "SELECT user_firstname, user_surname FROM users_tbl WHERE users_tbl.user_id= ".$_POST['user_id'];
$result = pg_query($sql);

Также не забудьте отфильтровать переменные POST и GET из SQL-инъекций.

Другие вопросы по тегам