(Q1) Привет Я использую текстовое поле в своем проекте, и я не могу получить введенные значения
<textarea rows="5" cols="60"> Type your suggestion </textarea>
<br>
<input type="submit" name="sugestao" value="Submit" />
Извините, я не знаю, как "убить" html-код, поэтому < пропал, отсутствует.
Все, что я получаю в столбце базы данных из этого текстового поля: "Отправить", я хотел бы получить все, что написано в текстовой области. Как я могу сделать значение равным whaterever набрано?
(Q2) Как я могу убедиться, что я буду хранить только тот же тип (int, varchar, text), который я установил, объявленный в базе данных. Например: age (int), но если кто-то вводит "abc" во вход, он будет сохранен в моей базе данных как значение 0. Как я могу запретить это, и сохранить только возраст, когда он просто int и все остальные поля (например, имя, адрес электронной почты) заполнены?. И если все еще возможно, предупредите пользователя о том, что он набирает что-то неправильно, не нужно говорить где.
Извините за любую ошибку на английском языке и спасибо за внимание.
Для вашего текстового поля нужен атрибут name
, иначе при отправке формы текст, который вы ввели, не отправляется.
<form method="post" action="your_handler.php">
<textarea rows="5" cols="60" name="question">Type your suggestion</textarea>
<input type="submit" name="sugestao" value="Submit" />
</form>
Для вашего второго вопроса вы можете реализовать проверку ввода на стороне клиента (с javascript), на стороне сервера (с использованием любого языка, который вы используете) или и того и другого.
Для проверки возраста в качестве примера вы хотите проверить две вещи:
С PHP вы проверяете этот способ:
if( (int) $_POST['age'] > 15) {
// insert the record
} else {
// display error message
}
Я думаю, что вам не хватает атрибута name= "в вашем текстовом поле. Если вы добавите его, вы получите его значение в массиве $_POST. Для eaxmple name=" abc" приведет к $_POST ['abc']
Во втором вопросе вам нужно выполнить проверку формы. Ищите это в Google, это основная задача.
Если вы хотите проверить типы данных перед сохранением, вы можете использовать встроенные методы PHP. Для этого существует множество методов: php - is_numeric()
, is_string()
, is_float()
и т.д. Когда данные передаются на сервер, данные POST изначально будут в форме строки, поэтому вам, возможно, придется выполнить его ($castVar = (int)$var)
, прежде чем запускать любой из этих методов.
q2. вы не можете сделать это автоматически, но это можно сделать вручную.
Просто добавьте код проверки в обработчик формы script.
if ($_POST['age'] < 13 or $_POST['age'] > 110) $err[] = "Wrong age value!";