Вопросы ввода mysql php html - PullRequest
0 голосов
/ 10 июня 2010

(Q1) Привет! Я использую текстовое поле в своем проекте и не могу получить введенные значения

<textarea rows="5" cols="60"> Type your suggestion </textarea>
<br>
<input type="submit" name="sugestao" value="Submit" />

Извините, я не знаю, как «убить» HTML-код, этопочему <отсутствует.</p>

Все, что я получаю в столбце базы данных из этого текстового поля, это «Отправить», я хотел бы получить все, что написано в текстовой области.Как я могу сделать значение равным, в зависимости от того, что напечатано?

(Q2) Как я могу убедиться, что я буду хранить только тот тип (int, varchar, text), который я установил, объявленный в базе данных.Например: age (int), но если кто-то введет «abc» на входе, он будет сохранен в моей базе данных как значение 0.Как я могу запретить это, и сохранить только возраст, когда он просто int и все остальные поля (например, имя, адрес электронной почты) заполнены?И если все еще возможно, предупредите пользователя, что он что-то печатает неправильно, не нужно говорить, где.

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

Ответы [ 4 ]

3 голосов
/ 10 июня 2010

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

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

  1. У вас есть число
  2. Это равно или больше, чем, скажем, 16

С PHP вы проверяете этот путь:

if( (int) $_POST['age'] > 15) {
   // insert the record
} else {
   // display error message
}
1 голос
/ 10 июня 2010

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

1 голос
/ 10 июня 2010

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

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

0 голосов
/ 10 июня 2010

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

if ($_POST['age'] < 13 or $_POST['age'] > 110) $err[] = "Wrong age value!";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...