`

PHP后台验证类(原创)

 
阅读更多

 

  主要实现的是用户输入内容进行验证,本文是继 ajax提交form,同时提供form表单验证,直接贴上代码

<?php
/**
 * Form check class
 * 格式: uname = array('require'=>'true','max'=>3,'min'=>'1','theme'=> '用户名',reg="tel/qq/num/cn/en/reg")
 * @author Administrator
 *
 */
class Form{
	private $_form_data = array();
	private  $_error_msg = '';
	private $_default_regs = array('num'=>'/^[0-9]*$/', 
							   'tel'=>'/^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/',
							   'qq'=>'/^\d{5,10}$/', 
							   'cn'=>'', 
							   'en'=>'', 
							   'email'=>'/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i');
	public function  Form($form_data = ''){
		$this->_form_data = $form_data;
	}
	public function check(){
		$is_check = true;
		foreach ($this->_form_data as $key=>$item){
			$is_check = $this->check_item($item);
			if(!$is_check){
				break;
			}
		}
		return $is_check;
	}
	public function  init_form($form_data){
		$this->_form_data = $form_data;
	}
	public function check_item($item){
		$is_check = true;
		foreach ($item as $key=>$obj){
			$check_func = 'check_'.$key;
			if(method_exists($this, $check_func)){
				$is_check = $this->$check_func($item);
			}
			if(!$is_check){
				break;
			}
		}
		return $is_check;
	}
	
	public function error_msg(){
		return $this->_error_msg;
	}
	private function check_require($item){
		$require_exp_true = $item['require'] == true && !empty($item['value']);
		if($require_exp_true || $item['require']==false){
			return true;
		}
		return $this->init_error($item['theme'].'不能为空!');
	}
	
	private function check_max($item){
		$str_length = strlen($item['value']);
		if($str_length <= $item['max']){
			return true;
		}
		return $this->init_error($item['theme'].'最多'.$item['max'].'个字符');
	}
	
	private function check_min($item){
		$str_length = strlen($item['value']);
		if($str_length >= $item['min']){
			return true;
		}
		return $this->init_error($item['theme'].'最少'.$item['min'].'个字符');
	}
	
	private function check_reg($item){
		if(array_key_exists($item['reg'], $this->_default_regs)){
			return $this->reg_defaults($item);
		}
		return $this->reg_express($item);
	}
	private function reg_defaults($item){
		$reg = $this->_default_regs[$item['reg']];
		if(preg_match($reg,$item['value'])){
			return true;
		}
		return $this->init_error($item['theme'].'格式不对');
	}
	private function reg_express($item){
		
	}
	private function init_error($msg){
		$this->_error_msg = $msg;
		return false;
	}
}

   

   使用方法

   1、init_form()初始化数据

        数据格式

$form_data = array('username'=> array('require'=>true, 'theme'=> '用户名', 'value'=> $data['username']),
						   'passwd'=> array('require'=>true, 'theme'=> '密码', 'value'=> $data['passwd']),
						   'code'=> array('require'=>true, 'theme'=> '验证码', 'value'=> $data['code'], 'max'=> 4 , 'min'=>4, 'reg'=>'num'));
		

 

  2、check()方法验证,返回true/false

 3、error_msg(),返回验证失败信息

分享到:
评论

相关推荐

    flex原创音乐网站(全站带后台)

    8. **服务器端支持**:虽然前端使用Flex,但后台通常需要其他语言(如PHP、Java、Python等)配合,处理用户请求、验证数据、处理业务逻辑以及与数据库交互。 **相关知识点** 1. **ActionScript 3.0**:Flex的主要...

    PHP网站模板,网站源码,带PHP后台:风车发电科技企业网站模板是一款适合手机APP设计公司网站模板.zip

    PHP后台管理系统是网站管理的核心部分,它允许管理员对网站内容进行添加、编辑和删除等操作,而无需直接编辑HTML或PHP代码。这种模板内置的后台系统通常包括用户管理、内容发布、产品管理、订单处理等功能,方便非...

    PHP网站模板,网站源码,带PHP后台:精美漂亮的软件企业网站模板(橙色)_橙色 漂亮 大气 企业 精品.zip

    3. **PHP后台**:这里的"PHP后台"指的是网站的后端管理系统,通常包括用户管理、内容管理、权限管理等功能。开发者可以通过后台对网站进行内容更新、用户管理等操作,无需直接编辑源文件。 4. **橙色主题**:颜色...

    PHP实例开发源码—php盾灵原创文章投稿系统.zip

    【PHP实例开发源码—php盾灵原创文章投稿系统】是一个基于PHP编程语言构建的开源项目,主要用于实现文章投稿和管理的功能。这个系统的核心目的是为用户提供一个方便、安全的平台,让他们可以提交自己的原创文章,并...

    天环公益首次推出原创开发进度网站,配备后台管理系统

    对于有兴趣深入了解或参与管理的用户,可直接访问后台页面,入口为:admin.php。 值得注意的是,当前后台系统尚未设定登录认证,即无需账号与密码即可直接进入。此外,此版本暂未接入数据库支持,这意味着部分动态...

    php token使用与验证示例【测试可用】 原创

    2. 后台PHP验证Token: 在接收表单提交的PHP脚本(如`do.php`)中,首先获取表单中的`module`, `timestamp` 和 `token`,然后重新计算Token的值并与提交的Token进行比较。如果两者匹配,则继续处理数据;否则,表明...

    留言板小系统,绝对原创,所使用语言php

    标题中的“留言板小系统,绝对原创,所使用语言php”表明这是一个基于PHP编程语言开发的简单留言板应用。PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域中被大量运用,因为它可以方便地与HTML结合,实现动态...

    [原创]FLEX PHP 交互 简单登录界面(1)源代码

    标题中的“[原创]FLEX PHP 交互 简单登录界面(1)源代码”表明这是一篇关于使用Adobe Flex与PHP进行交互的教程,其中包含了一个简单的登录界面的源代码。Flex是一款用于构建富互联网应用程序(RIA)的开源框架,而...

    php token使用与验证示例【测试可用】 <font color=red>原创</font>

    具体到代码实现方面,文档中展示了前台form表单和后台验证部分的代码示例。前台的form表单中,首先通过PHP的`mt_rand`函数生成一个随机数,然后创建三个隐藏字段,分别是`module`、`timestamp`和`token`。`module`...

    基于PHP的115le仿hao123php网址导航整站系统静态html源码.zip

    PHP开发中应避免SQL注入、XSS攻击等安全隐患,同时,对用户输入进行有效验证和过滤。 7. SEO优化:生成静态HTML页面有利于搜索引擎爬虫抓取,提高网站在搜索引擎中的排名。合理的元标签(如title、description)、...

    php语言开发设计的带数据采集功能的简单资讯类网站源码,可以做站群

    2. **内容管理**:提供后台管理系统,用于发布、编辑和删除文章,可能涉及到CRUD(创建、读取、更新、删除)操作和权限控制。 3. **数据采集**:实现自动或手动的数据抓取功能,可能结合了curl、file_get_contents等...

    PHP正则匹配中英文、数字及下划线的方法【用户名验证】 原创

    本文主要探讨了如何使用PHP正则表达式来匹配包含中英文、数字以及下划线的字符串,这对于实现用户名验证功能非常有帮助。 在给出的示例中,使用了正则表达式`/[\w\x{4e00}-\x{9fa5}]+/u`来匹配用户名。这里`\w`匹配...

    原创简单网站——软件下载网站

    【标题】"原创简单网站——软件下载网站"揭示了这个项目是一个个人开发的、以软件下载为主题的网站。这种类型的网站通常包含多个功能模块,如软件分类、搜索、详情展示、下载链接等,用户可以浏览并下载各种软件。 ...

    二维码活码v2.2成品,二维码活码平台,PHP源码.rar

    5. **后台管理**:PHP构建后台管理系统,管理员可以通过网页界面管理活码,查看统计报告,设置权限等。 **四、源码结构分析** 虽然没有具体的文件列表,但在一个标准的PHP项目中,我们可以预期以下组件: 1. `...

    ABC网络硬盘带提取码PHP版 v1.0.rar

    后端则涉及服务器端逻辑,包括文件的存储、提取码的验证、提取次数的计数以及后台管理功能等。 PHP是一种广泛使用的服务器端脚本语言,尤其适合网页开发。它支持多种数据库系统,如MySQL、SQLite等,用于存储和管理...

    新闻系统(PHP+MYSQL)

    这些功能需要PHP处理用户的提交,验证用户身份,防止恶意评论,并将数据存储到MySQL数据库中。 6. 安全性:在开发新闻系统时,必须考虑到安全性问题。例如,PHP代码需要防止SQL注入,通过预处理语句或参数化查询来...

    百度文字转语音fastadmin版本(原创)

    【标题】:“百度文字转语音fastadmin版本(原创)”是一个基于百度AI的文字转语音技术与FastAdmin插件框架相结合的项目。这个项目的核心功能是将输入的文字转换为自然流畅的语音输出,方便用户在各种场景下进行语音...

    YouYaX开源论坛系统 v5.85(带手机版).zip

    YouYaX,开源BBS,php原创框架结构论坛程序 YouYaX是个人自主开发的原创论坛系统,简洁,拓展性强,代码开源。 1、体积小 — 安装包大小约2M,功能齐全 2、易开发 — 任何有PHP开发经验的站长均可以很方便的修改、...

    精美企业官网小程序源码 带后台模块+前端.zip

    6. **权限管理**:后台系统可能包含用户登录、注册、权限控制等功能,涉及到身份验证(如JWT)和授权机制。 7. **响应式设计**:考虑到企业官网的需求,前端代码可能需要适配不同设备和屏幕尺寸,实现响应式布局。 ...

    原创大气bootstrap商家管理中心纯HTML静态模板.zip

    "原创大气bootstrap商家管理中心纯HTML静态模板"是一个专为商家后台管理界面设计的模板,它基于Bootstrap框架构建,旨在提供高效、美观且易于使用的管理界面。 此模板的特点在于其原创性和大气的设计风格。原创性...

Global site tag (gtag.js) - Google Analytics