找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1035|回复: 0
打印 上一主题 下一主题

php输入数据统一类实例

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:49:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了php输入数据统一类。分享给大家供大家参考。具体如下:
getdata = self::format_data($_GET);
$this->postdata = self::format_data($_POST);
$this->requestdata = array_merge($this->getdata,$this->postdata);
$this->cookiedata = self::format_data($_COOKIE);
$this->filedata = self::format_data($_FILES);
}
//类的初始化,返回cls_request对象
public static function get_instance(){
if(!(self:_instance instanceof self)){
  self:_instance = new self();
}
return self:_instance;
}
//获取GET传递过来的数值变量
public function get_num($key){
if(!isset($this->getdata[$key])){
  return false;
}
return $this->to_num($this->getdata[$key]);
}
//获取POST传递过来的数据变量
public function post_num($key){
if(!isset($this->postdata[$key])){
  return false;
}
return $this->to_num($this->postdata[$key]);
}
//获取Request传递过来的数值变量
public function request_num($key){
if(!isset($this->requestdata[$key])){
  return false;
}
return $this->to_num($this->requestdata[$key]);
}
//获取Cookie传递过来的数值变量
public function cookie_num($key){
if(!isset($this->cookiedata[$key])){
  return false;
}
return $this->to_num($this->cookiedata[$key]);
}
//获取File传递过来的数值变量
public function filedata($key){
return $this->filedata[$key];//返回数组
}
//获取GET传递过来的字符串变量
public function get_string($key,$isfilter=true){
if(!isset($this->getdata[$key])){
  return false;
}
if($isfilter){
  return $this->filter_string($this->getdata[$key]);
}else{
  return $this->getdata[$key];
}
}
//获取POST传递过来的字符串变量
public function post_string($key,$isfilter=true){
if(!isset($this->postdata[$key])){
  return false;
}
if($isfilter){
  return $this->filter_string($this->postdata[$key]);
}else{
  return $this->postdata[$key];
}
}
//获取Request传递过来的字符串变量
public function request_string($key,$isfilter=true){
if(!isset($this->requestdata[$key])){
  return false;
}
if($isfilter){
  return $this->filter_string($this->requestdata[$key]);
}else{
  return $this->requestdata[$key];
}
}
//获取Cookie传递过来的字符串变量
public function cookie_string($key,$isfilter=true){
if(!isset($this->cookiedata[$key])){
  return false;
}
if($isfilter){
  return $this->filter_string($this->cookiedata[$key]);
}else{
  return $this->cookiedata[$key];
}
}
//格式化数据
private function format_data($data){
$result = array();
if(!is_array($data)){
  $data = array();
}
/*
*list()表示用数组的数值给变量赋值。只用于数字索引的数组,
*默认从0位开始,按顺序下去
*each()
*/
while(list($key,$value) = each($data)){//不太明白
  //处理checkbox之类的数据
  if(is_array($value)){
  $result[$key]=$value;
  }else{//普通数据
  $result[$key] = trim($value);
  //删除字符串两端空白及其它预定义字符
  }
}
}
//转化数字
private function to_num($num){
if(is_numeric($num)){
  return intval($num);//将变量转为整数
}else{
  return false;
}
}
//过换过滤字符串
private function filter_string($data){
if($data===null){
  return false;
}
if(is_array($data)){
  foreach($data as $k=>$v){
  $data[$k] = htmlspecialchars($v,ENT_QUOTES);
  //把一些预定义字符转化为html实体
  }
  return $data;
}else{//普通字符串
  return htmlspecialchars($data,ENT_QUOTES);
}
}
}
?>
希望本文所述对大家的php程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • php 字符过滤类,用于过滤各类用户输入的数据
  • PHP数据过滤的方法
  • php中filter函数验证、过滤用户输入的数据
  • php过滤所有恶意字符(批量过滤post,get敏感数据)
  • php判断文件上传类型及过滤不安全数据的方法
  • php实现上传图片保存到数据库的方法
  • php模拟post提交数据的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端