2010-06-10 63 views
0

(Q1)嗨,我是用我的项目的文本框,我不能接收所有类型的输入问题MySQL的PHP​​的HTML

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

对不起,我不知道如何“杀”的值的html代码,这就是为什么<丢失。

所有我从这个文本框中获得的数据库的列是“提交”,我想接收文本区域中写的任何内容。我怎样才能让价值相等呢? (Q2)我如何确保只存储我在数据库中声明的相同类型(int,varchar,text)。例如:age(int),但如果有人在输入中键入“abc”,它将作为值0存储在我的数据库中。我怎样才能禁止这样做,只有当它只是int而所有其他字段(如姓名,电子邮件)被填满时才能保存年龄。如果仍然可以警告用户他正在输入错误的东西,不需要说出位置。

对不起,在英语的任何错误和感谢您的关注。

+0

Majid已回答您的第一个问题。关于第二个,你必须实现某种(服务器端)验证。 – giolekva 2010-06-10 12:52:07

回答

3

您需要一个name属性为您的textarea,否则,当您提交表单时,您输入的文本不会发送。

<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

我认为你在textarea中缺少name =“”属性。如果添加它,您将在$ _POST数组中获得它的值。对于eaxmple,name =“abc”将导致$ _POST ['abc']

对于第二个问题,您需要执行表单验证。在Google中查找这是一项基本任务。

0

q2。你不能自动完成,但可以手动完成。
只需在表单处理程序脚本中添加验证代码即可。

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

如果你想保存之前检查数据类型,你可以使用PHP内置的方法来做到这一点。有很多这种方法与PHP - is_numeric(),is_string(),is_float()等等。将数据传递到服务器时,POST数据最初将以字符串形式显示,因此在运行这些方法之前,您可能必须将其转换为($castVar = (int)$var)