一、创建表单

<form name = "login" method = "post" action="contact.php?action=login" class="bootstrap-frm">
<h1>联系我们</h1>
<label>
<span>微信* :</span>
<input id="wechat" type="text" name="wechat" placeholder="微信" class="form-control input-lg"/>
<p class="panduan" id="umessage1"></p>
</label> <label>
<span>QQ* :</span>
<input id="qq" type="text" name="qq" placeholder="QQ" class="form-control input-lg" />
<p class="panduan" id="umessage2"></p>
</label> <label>
<span>科目 :</span>
<input id="course" type="text" name="course" placeholder="科目" class="form-control input-lg" />
</label> <label>
<span>作业要求 :</span>
<textarea id="work" name="work" placeholder="作业要求" class="form-control input-lg"></textarea>
</label> <label>
<span>联系邮箱* :</span>
<input id="email" type="text" name="email" placeholder="联系邮箱" class="form-control input-lg" />
<p class="panduan" id="umessage3"></p>
</label> <label>
<span>验证码 :</span>
<input id="checkCode" type="text" name="checkCode" placeholder="验证码" class="form-control input-lg" />
<img src="checkcode.php" onclick="this.src='checkcode.php?Math.random()'"/>
<div class="yzmtips" style="color:red"></div>
<p class="panduan" id="umessage4"></p>
</label> <label>
<span> </span>
<input type="submit" class="button" value="Send" />
</label>
<center>
<div>
<img src="data:image/weixingongzonghao.jpeg">
<img src="data:image/qq.jpeg">
</div>
<div>
<span style="margin-right: 25px;">微信:asessay</span>
<span>QQ:1635676033</span>
</div>
</center>
</form>

二、PHP获取表单提交内容并进行判断

if ($_GET['action'] == 'login') {
//开启Session
session_start();
//获取session中的验证码并转为小写
$sessionCode=strtolower($_SESSION['code']);
//获取输入的验证码
$code=strtolower($_POST['checkCode']);
// echo $sessionCode; $pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
//判断是否相等
if($sessionCode==$code){
if ($_POST['wechat'] == null || $_POST['qq'] == null || $_POST['email'] == null || (!preg_match( $pattern, $_POST['email'] ))) {
echo "<script>alert('提交失败!');</script>";
} else {
// $smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
// echo "<script>alert('提交成功!');</script>";
// } $smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
echo "<script type='text/javascript'>alert('提交成功!');</script>";
}
}else{
echo "<script type='text/javascript'>alert('验证码错误!');</script>";
}
}

三、js控制表单验证

<script type="text/javascript">
var error=new Array();
var regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
$(document).ready(function(){
$('input[name="wechat"]').blur(function(){
var wechat=$(this).val();
if(wechat==''){
var wechat = "您输入的微信号为空!";
$('#umessage1').text(wechat);
}else{
$('#umessage1').text('');
}
});
$('input[name="qq"]').blur(function(){
var qq=$(this).val();
if(qq==''){
var qq = "您输入的QQ号码为空!";
$('#umessage2').text(qq);
}else{
$('#umessage2').text('');
}
});
$('input[name="email"]').blur(function(){
var email=$(this).val();
if(email=='' || !(regex.test(email))){
var email = "您输入的电子邮件地址不合法!";
$('#umessage3').text(email);
}else{
$('#umessage3').text('');
}
});
$('input[name="checkCode"]').blur(function(){
var checkCode=$(this).val();
if(checkCode==''){
var checkCode = "您输入的验证码为空!";
$('#umessage4').text(checkCode);
}else{
$('#umessage4').text('');
}
});
});
</script>

PHP开发之旅-表单验证的更多相关文章

  1. 吴裕雄--天生自然 PHP开发学习:表单 - 验证邮件和URL

    $name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $ ...

  2. 吴裕雄--天生自然 PHP开发学习:表单验证

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  3. 吴裕雄--天生自然 JAVASCRIPT开发学习: 表单验证

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 使用 纯JQuery 进行 表单 验证

    对于JavaScript而言,进行表单数据的验证可谓是很有必要的,而且一般我们都会在网页上先进行一下表单验证,然后服务器端再次进行验证,来确保用户提交数据的准确性.下面就来分享一个JQuery实现的表 ...

  5. 微信小程序——仿jqueryValidate表单验证插件WxValidate的二次封装(一)

    在做web开发时,表单验证插件我们前端用的是jqueryValidate,由于个人主要精力是在后台JAVA开发上,为了让插件与后台更好的结合和使用,通过JAVA的自定义组件将表单全部重新写了一边,同时 ...

  6. Web开发-表单验证

    表单验证是Web开发中必不可少的一个环节,用来限制用户输入数据的规范和一致性.那么如何能够简化这一任务,让开发人员通过简单的属性设置就能达到目的呢? FineUI在这一点上也是下足了功夫,比Asp.N ...

  7. 前端编程提高之旅(十)----表单验证插件与cookie插件

        实际项目开发中与用户交互的常见手法就是採用表单的形式.取得用户注冊.登录等信息.而当用户注冊或登录后又须要记住用户的登录状态.这就涉及到经常使用的两个操作:表单验证与cookie增删查找.   ...

  8. python运维开发(十九)----Django后台表单验证、session、cookie、model操作

    内容目录: Django后台表单验证 CSRF加密传输 session.cookie model数据库操作 Django后台Form表单验证 Django中Form一般有2种功能: 1.用于做用户提交 ...

  9. SPA项目开发--表单验证、增删改

    1. 表单验证 Form组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,   并将Form-Item的prop属性设置为需校验的字段名即可      <el-form- ...

随机推荐

  1. codevs4343 找回密码

    题目描述 Description jrMz 很喜欢动漫<叛逆的鲁鲁修>(额= =不知道是不是因为他盯上了动画片里的 MM),他准备以一种神奇的方式降临<叛逆的鲁鲁修>世界,所以 ...

  2. Wikioi 3776 生活大爆炸版石头剪子布

    题目描述 Description 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏 ...

  3. HashMap源码分析3:移除

    本文源码基于JDK1.8.0_45. final Node<K,V> removeNode(int hash, Object key, Object value, boolean matc ...

  4. SystemTapでMySQL 5.5のDisk I/Oを分析する

    http://d.hatena.ne.jp/sh2/20111121 2010年1月の記事SystemTapでMySQLのDisk I/Oを分析するの続きです.以前作成したSystemTapスクリプト ...

  5. 配置类Configuration怎样使用

    public class CorsConfiguration { /** * Wildcard representing <em>all</em> origins, metho ...

  6. C++中设计一个类,使其不能继承

    1.C++11中已经有了final关键字:它的作用是指定类的虚函数不能被该类的继承类覆盖(override),或者是指定一个类成为一个不能被继承的类(final class) 2.派生类用调用基类的构 ...

  7. 可恢复的安全rm

    我们常常使用rm去删除一些文件.假设不小手一抖,那么就悲剧了.你们都懂的... 在经历过一次这种慘剧后.决定永远杜绝这种情况.重写写了shell函数.运行安全的rm.这个函数会把要删除的文件按日期备份 ...

  8. 设置默认訪问项目的client的浏览器版本号(IE版本号)

    在项目开发部署中.发现浏览器不兼容现象,在不处理兼容性情况下让用户更好体验(IE浏览器) 我们来设置client默认訪问项目的浏览器版本号 例如以下所看到的的是不同IE版本号下的效果截图比較: IE5 ...

  9. duilib-Ex-Debug

    因为一些事件google无法訪问,托管在其上的项目也无法检出也基本无人更新,因此维护了一个版本号,用于排除已有的bug和扩展一些功能.这样能够避免反复造轮子和反复的修车子.欢迎大家一起维护.本人能力和 ...

  10. 我的Go语言学习之旅七:创建一个GUI窗口

    在上次中,刚刚学过了  弹窗效果.这里再接着学习一下怎样创建一个窗口. 还是老路子,先上代码: package main import ( "github.com/lxn/go-winapi ...