php 表单验证代码(验证失败显示提示信息)

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

<?PHP
/**
 * 表单验证
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
function validatePost( $regs,$ferrors )
{
 $errors = array();
 foreach( $regs as $k => $v )
 {
  if( ! preg_match( $v,$_POST[$k] ) )
  {
   $errors[$k] = $ferrors[$k];
  }
 }
 return $errors;
}
 
 
// has the post been submitted?
if( count( $_POST ) )
{
 // yes it has been submitted so lets validate
 $regs['last_name']  = "/^[[:alpha:]\ -]+$/";  // require a alpha
 $regs['first_name'] = "/^[[:alpha:]\ -]+$/";  // require a alpha
 $regs['email']      = "/^..*\@..*$/";         // VERY simple email check
                                             // Use google to find better
 
 
 // Ok here are the error message to display when it is bad
 $ferrors['last_name']  = "Last name required";
 $ferrors['first_name'] = "First name required";
 $ferrors['email']      = "Email name required";
 
 $errors = validatePost( $regs,$ferrors );
 
 // Do we have errors?
 if( count( $errors ) == 0 )
 {
  //  WE HAVE NO ERRORS DO SOMETHING
  //  PUT IT INTO THE DATABASE,EMAIL,BOUNCE THE USER
  //  TO A THANK YOU PAGE,ETC...
 }
}
?>
经测试代码如下:

<!-- OK WE ARE IN HTML -->
<!-- LETS MAKE THE FORM AND NOW YOU SEE HOW SIMPLE THIS IS I HOPE -->
 
<form method="POST">
 
<p>
<label>Last Name</label>
<input type="text" name="last_name" value="<?= $_POST['last_name'] ?>" />
<span style="color: #FF0000;"><?= $errors['last_name'] ?></span>
</p>
 
 
<p>
<label>First Name</label>
<input type="text" name="first_name" value="<?= $_POST['first_name'] ?>" />
<span style="color: #FF0000;"><?= $errors['first_name'] ?></span>
</p>
 
 
<p>
<label>Email</label>
<input type="text" name="email" value="<?= $_POST['email'] ?>" />
<span style="color: #FF0000;"><?= $errors['email'] ?></span>
</p>
 
 
<p>
<input type="submit" name="subby" value="GO" />
</p>
 
 
</form>

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...