在html中显示错误消息

时间:2011-11-25 08:33:27

标签: php html validation

我想在html中显示警告消息。此代码显示两个名为“company”和“name”的文本框。 con.php连接到数据库并插入信息。但是,如果我什么也没输入,那么这些值仍然会以null的形式存储在数据库中。我希望用户知道他不应该通过显示一些消息将字段留空,如果给定公司已经存在于数据库中,也应该出现警告。我该如何实现?

  <html>
   <head>
 <title>store in a database</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   </head>
    <body>
   <h2>company  Store</h2>
   <form name="form1" method="post" action="con.php">
      <p>company:<input type="text" name="company">
          <br/>
          <br/>
          <br/>
          Name: <input type="text" name="name" size="40">
          <br/>
          <br/>
          <br/>

          <input type="submit" value="Save">
          <input type="button" onclick="window.close()" value="cancel">
  </form>
</body>

4 个答案:

答案 0 :(得分:1)

虽然没有JavaScript就无法生成警报消息,但您可以利用HTML5的placeholder属性来通知用户此消息:

<input type="text" placeholder="You must enter something in this field"! name="whatever" id="whatever" />

将此与JavaScript相结合:

var inputElem = document.getElementById('whatever');
var form = document.getElementsByTagName('form')[0];

form.onsubmit = function(){
    if (inputElem.value = '' || inputElem.value.length < 1){
        alert('You must enter some actual information');
        return false;
    }
};

但是,用户可以通过Firebug,Web Inspector,Dragonfly编辑JavaScript,或者只需创建一个新的html文件,然后从action form属性中将表单提交到同一来源。 1}}元素。因此,您的表单处理脚本 必须 在服务器和客户端上进行清理和检查;客户端检查对用户来说很方便(防止不必要的页面重新加载,提交等),它是 的安全功能,不应该使用或者错误的,就是这样。

答案 1 :(得分:0)

在con.php中,您应该进行数据验证并返回标记(或重定向到描述错误的页面)。

因此,请检查空字段,以及是否存在将用户重定向到页面,说明字段不能为空(并且可能允许它们输入新值)。

如果输入的数据正常,请检查数据库是否存在重复项,如果存在,请将用户重定向到一个页面,说明该公司已存在(并且可能再次允许用户更正数据)。

答案 2 :(得分:0)

如果您想在同一页面上进行操作,最好的方法是使用Ajax。你需要阅读一些关于它的教程。在这里进行探索并不容易。

如果您可以重新加载或重定向到其他页面,则应将提交的表单值与数据库中的值进行比较,该脚本位于从表单提交(操作URL)重定向的PHP脚本中。如果值不匹配且不为空,则将值存储到数据库并重定向到公司列表或“公司成功创建”消息页面等页面。如果值与旧记录匹配或为空,则重定向回带有标记的同一表单页面(类似form.php?error=1等)并显示正确的错误消息。

此外,您可以使用JavaScript立即发出警报。但是您应该始终在PHP侧进行相同的检查,因为可以在浏览器中禁用JavaScript

答案 3 :(得分:0)

您不能只使用HTML。

您需要添加表单验证(以防止空字符串),HTML5表单验证可以为您执行此操作(检查http://www.broken-links.com/2011/03/28/html5-form-validation/),但并非所有浏览器都支持它,因此您需要使用JavaScript来验证形式。

有一些JavaScript库可以使用旧浏览器,使其行为类似于支持HTML5的浏览器(检查http://www.matiasmancini.com.ar/jquery-plugin-ajax-form-validation-html5.html)。

您还需要检索数据库中已有的公司,并根据用户输入进行检查,并在需要时提醒他。

最重要的是,您需要在将数据插入数据库之前验证PHP中的数据(例如,检查空字符串)。

相关问题