【问题标题】:help with if statement - min of 3 characters帮助 if 语句 - 最少 3 个字符
【发布时间】:2011-06-13 13:58:01
【问题描述】:

由于没有 minlength="" 用于输入,我如何制作一个执行以下操作的 if 语句:

如果用户输入的字符数不超过 3 个,则不会保存在数据库中。

这是输入:

 QTY<input title="QUANTITY PER ITEM" size="1"  name="inputQTY" value="**(minimun of 3 characters)**"/>

有什么想法吗??

【问题讨论】:

  • 把javascript和php验证都放
  • 返回谷歌并阅读如何验证数据客户端和服务器端。即使您不知道在将数据保存到数据库之前的验证过程是什么,您也没有任何具体问题。我的建议是阅读一些验证数据的教程

标签: javascript mysql input if-statement min


【解决方案1】:

注意:输入字段是否有最小值限制无关紧要;用户仍然可以欺骗表单以包含他或她想要的任何值。因此,您需要在服务器端进行验证。

假设您使用 PHP 作为服务器端语言。

$inputQTY = $_POST['inputQTY'];
if (strlen($inputQTY) < 3) {
   // DO NOT INSERT INTO DB
}
else {
   // insert after further scrubbing input
}

阅读:What's the best method for sanitizing user input with PHP?

【讨论】:

    【解决方案2】:

    表单验证是检查表单字段是否以正确格式填写的过程,如果它们是过程。在您的问题中,正确的格式是“超过 3 个字符”。当然,在表单验证过程中会涉及到 if 语句。在客户端,您使用 JavaScript 代码来验证表单字段。

    它是这样工作的:一个表单有一个onsubmit事件处理程序,当用户点击提交,或者按下回车,onsubmit将被触发。 onsubmit 是您放置表单验证码的位置。

    <script>
    function onsubmit() {
      if (document.forms.mainForm.inputQTY.value.length < 3) {
        alert("ERROR: Must be more than 3 characters");
        return false; // stops the form submission
      }
      return true;
    }
    </script>
    

    这是添加 onsubmit 处理程序的方法

    ...

    onsubmit 函数可以返回一个值:true 让表单提交,false 停止提交。

    什么是 document.forms.mainForm.inputQTY.value.length? document.forms.mainForm 引用表单 named mainForm,而 .inputQTY 找到 inputQTY 字段。 您可以使用document.getElementsByTagName 手动查找这些元素,但是编写这种类型的代码很费[时间和空间]。

    由于某些用户禁用了 JavaScript,或者破解者故意禁用 JS 以绕过验证,因此您必须验证服务器端。

    服务器端代码将是这样的:

    if (strlen($_GET['inputQTY']) < 3) {
      echo "ERROR: Must be more than 3 characters";
    } else {
      // submit data
    }
    

    注意:从头编写的代码,未经测试

    【讨论】:

    • 让他有机会理解“验证”一词
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多