Вопросы ввода mysql php html

0

(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 и все остальные поля (например, имя, адрес электронной почты) заполнены?. И если все еще возможно, предупредите пользователя о том, что он набирает что-то неправильно, не нужно говорить где.

Извините за любую ошибку на английском языке и спасибо за внимание.

  • 0
    Маджид ответил на ваш первый вопрос. И, что касается второго, вы должны реализовать некоторую проверку (на стороне сервера).
Теги:
input

4 ответа

3
Лучший ответ

Для вашего текстового поля нужен атрибут 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), на стороне сервера (с использованием любого языка, который вы используете) или и того и другого.

Для проверки возраста в качестве примера вы хотите проверить две вещи:

  • У вас есть номер
  • Он равен или больше, чем говорят 16

С PHP вы проверяете этот способ:

if( (int) $_POST['age'] > 15) {
   // insert the record
} else {
   // display error message
}
1

Я думаю, что вам не хватает атрибута name= "в вашем текстовом поле. Если вы добавите его, вы получите его значение в массиве $_POST. Для eaxmple name=" abc" приведет к $_POST ['abc']

Во втором вопросе вам нужно выполнить проверку формы. Ищите это в Google, это основная задача.

1

Если вы хотите проверить типы данных перед сохранением, вы можете использовать встроенные методы PHP. Для этого существует множество методов: php - is_numeric(), is_string(), is_float() и т.д. Когда данные передаются на сервер, данные POST изначально будут в форме строки, поэтому вам, возможно, придется выполнить его ($castVar = (int)$var), прежде чем запускать любой из этих методов.

0

q2. вы не можете сделать это автоматически, но это можно сделать вручную.
Просто добавьте код проверки в обработчик формы script.

if ($_POST['age'] < 13 or $_POST['age'] > 110) $err[] = "Wrong age value!";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню