PHP开发之旅-表单验证

一、创建表单

<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="image/weixingongzonghao.jpeg">
    	<img src="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_-])[email protected]([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>
时间: 2024-10-24 06:14:57

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

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

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <head> <script> function validateForm(){ var x=document.forms["myForm"]["fname"

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

    实际项目开发中与用户交互的常见手法就是採用表单的形式.取得用户注冊.登录等信息.而当用户注冊或登录后又须要记住用户的登录状态.这就涉及到经常使用的两个操作:表单验证与cookie增删查找.     项目开发当然能够手动或用原生代码解决以上两个问题,而最好的实践应该是站在巨人的肩膀上.从合理性猜測角度和不反复造轮子的原则上,都应该对成熟的技术,实行拿来主义,更加高速.高效.稳定的将精力放在项目逻辑实现上.    一.表单验证插件(jQuery Validate)    官方描写叙述:仅仅须

UI标签库专题三:JEECG智能开发平台 FormValidation(表单提交及验证标签)

?? 1. FormValidation(表单提交及验证标签) 1.1.  参数 属性名 类型 描述 是否必须 默认值 action string 表单提交路径 否 null formid string 表单唯一标示 是 formobj refresh boolean dialog为true时是否刷新父页面 否 true callback string 表单提交完成后的回调函数 否 null beforeSubmit string 表单提交前的处理函数 否 null btnsub string

webpages(razor) 开发-表单验证

在用razor之前,表单验证对我来说,一直是个麻烦事,需要 1.在后台代码里对提交后的数据进行一次验证 2.在前端用js方式在对提交前的数据进行一次验证 这两步验证都需要定义验证规则. 用了razor之后,这两步验证可以合一了.看个简单的用户登录的demo 第一步 设定验证规则 1 string accountMsg = "6-12位英文字母及数字"; 2 Validation.Add("account", Validator.Required(accountMsg

AngularJs 表单验证

看到一些博客说这个框架要过时了,但是还是学习了下,觉的很方便的一个框架,有空的同学可以看看,适合我们入门看,比较基础. 对于日常的开发来说,最常见的开发场景就是通过表单编辑数据,这里涉及的问题就是验证问题. angularjs 内置已经支持了常见的验证方式,可以轻松实现表单验证. 1. 绑定 为了方便,我们在 $scope 上下文对象上创建一个 model 来表示我们编辑的内容. $scope.model = { id : 8, name: "alice", email: "

(七)JavaScript之[调试]与[前端表单验证]

12].调试为什么要去调试?1.在编写JavaScript时,如果没有调试工具将是一件很痛苦的事情.2.没有调试工具是很难去编写JavaScript程序的.3.编写的代码可能包含语法错误.逻辑错误,如果不借助调试工具,这些错误很难去发现4.帮助找到错误信息的位置 通常,在编写一个新的JavaScript代码过程中都会发生错误 代码调试:在程序代码中寻找错误 console.log()我用的chrome浏览器[控制台console等]进行调试,因为chrome的开发者工具是最好的前端调试工具deb

AngularJs 入门系列-2 表单验证

对于日常的开发来说,最常见的开发场景就是通过表单编辑数据,这里涉及的问题就是验证问题. angularjs 内置已经支持了常见的验证方式,可以轻松实现表单验证. 1. 绑定 为了方便,我们在 $scope 上下文对象上创建一个 model 来表示我们编辑的内容. $scope.model = { id : 8, name: "alice", email: "[email protected]" }; angularjs 的验证需要表单的配合,为了能够访问表单,我们需

群里分享的react的收藏一下!今日周末,改了个表单验证然后无所事事了!

今日周末,改了个表单验证然后无所事事了,然后把昨天群里分享的react的收藏一下尽管现在还在研究angular和nodeJs毕竟刚刚开始用有点不熟...没准以后会研究一下react毕竟看着下面这张图还是觉得有点欢乐的 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,

四种表单验证方法的分析和比较

前言 任何可以交互的站点都有输入表单,只要有可能,就应该对用户输入的数据进行验证.无论服务器后端是什么样的系统,都不愿意把时间浪费在一些无效的信息上,必须对表单数据进行校验,若有不符合规定的表单输入,应及时返回并给出相应的提示信息.本文将列举四种不同原理的表单验证方法,并给出各方法在 PHP 服务器上的实现. 回页首 浏览器端验证 传统上,表单数据一般都通过浏览器端的 Javascript 验证.浏览器端的验证速度快,若有不符合要求的输入,响应信息快速的返回给用户.由于验证数据不需要提交给服务器