【问题标题】:Input questions mysql php html输入问题 mysql php html
【发布时间】:2010-06-10 12:37:38
【问题描述】:

(Q1)您好,我在项目中使用文本框,但无法接收输入的值

<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 并且所有其他字段(如姓名,电子邮件)都被填写时才保存年龄?如果仍然可以警告用户他输入错误,则不需要说在哪里。

抱歉英文有误,感谢关注。

【问题讨论】:

  • Majid 已回答您的第一个问题。关于第二个,您必须实现某种(服务器端)验证。

标签: php mysql html input


【解决方案1】:

您的文本区域需要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
}

【讨论】:

    【解决方案2】:

    我认为您在 textarea 中缺少 name="" 属性。如果添加它,您将在 $_POST 数组中收到它的值。例如,name="abc" 将导致 $_POST['abc']

    对于第二个问题,您需要进行表单验证。在谷歌里找这个,这是一个基本的任务。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-02-08
          • 1970-01-01
          • 1970-01-01
          • 2011-08-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多