我想在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>
答案 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中的数据(例如,检查空字符串)。