Заполните поля из базы данных на основе пользовательского ввода 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-инъекций.