wap.php,wap.php

news/2024/11/28 3:49:37/

/**

* Author Yulin

* Email dwzhanglong@126.com

* Date 2016-8-16

* Func 后台入口

*/

session_start();

header('Content-Type:text/html; charset=UTF-8');

date_default_timezone_set('PRC');

error_reporting(E_ERROR | E_WARNING | E_PARSE);

if (!ismobile()){

// 如果是手机版or移动版的请求,则自动跳转到wap.php页面

header('Location: ./index.php');

die();

}

define('IN_YuLin', true);

define('TIMESTAMP', time());

define('IS_POST',(strtoupper($_SERVER['REQUEST_METHOD']) == 'POST' ? true : false));

define('ROOT_PATH', str_replace('\\', '/', dirname(__FILE__) . '/')); //根目录

define('DATA_PATH', ROOT_PATH . 'data/'); //数据目录

define('LIB_PATH', ROOT_PATH . 'lib/'); //类库文件

include_once LIB_PATH . 'common.inc.php';

require_once LIB_PATH . 'protect.php';

include_once LIB_PATH . 'common.func.php';

// m、c、a、用来判断路由

$m = NoBadStr($_REQUEST['m']);

$c = NoBadStr($_REQUEST['c']);

$a = NoBadStr($_REQUEST['a']);

!$m && $m = 'index';

!$c && $c = 'index';

!$a && $a = 'index';

if (!in_array($m, array('api'))){

!file_exists(ROOT_PATH.'module/wap/'.$m.'/'.$c.'.inc.php') && exit('No input file...');

}else{

!file_exists(ROOT_PATH.'module/'.$m.'/'.$c.'.inc.php') && exit('No input file...');

}

//数据库

include(LIB_PATH.'class/Db.class.php');

$db = new DB($_config['db']);

//模版引擎

include(LIB_PATH.'class/Ytemplate.class.php');

$tpl = new Ytemplate();

$tpl->templateCompile = DATA_PATH.'compile/wap';

$tpl->templateDir = ROOT_PATH.'template/wap';

$tpl->templateExt = 'tpl.php';

// 系统数组

$_Y = [];

$_Y['ip'] = GetIp();

$_user = [];

if($_SESSION['uid'])

{

$_user = $db->getrow('SELECT * FROM '.Table('user').' WHERE id = '.$_SESSION['uid']);

// 检查用户的等级头衔 ==========================

$_userInfo = $db->getrow('SELECT truename, email, mobile, qq, wechat, level_id, recharge_total, last_take_prize_level FROM ' . Table('user_info') . ' WHERE uid = ' . $_SESSION['uid']);

if (!$_userInfo['level_id']){

// 初始一个等级头衔给用户

$sql = 'SELECT id FROM ' . Table('user_level') . ' WHERE status = 1 ORDER BY group_point ASC limit 1';

$levelId = $db->getrow($sql);

$sql = 'UPDATE ' . Table('user_info') . ' SET level_id = ' . $levelId['id'] . ' WHERE uid = ' . $_SESSION['uid'];

$db->exec($sql);

}else{

$levelInfo = $db->getrow('SELECT level, title, group_point, reward, overstep FROM ' . Table('user_level') . ' WHERE id = ' . $_userInfo['level_id']);

$nextLevel = $db->getrow('SELECT level, title, group_point, reward, overstep FROM ' . Table('user_level') . ' WHERE id > ' . $_userInfo['level_id'] . ' AND status = 1 ORDER BY id ASC limit 1');

}

if(!$_user || !$_user['status'])

{

unset($_SESSION['uid']);

unset($_COOKIE['LoginSessionID']);

set_cookie('LoginSessionID','');

}

}

$_uid = intval($_SESSION['uid']);

if (!in_array($m, array('api'))){

include_once(ROOT_PATH.'module/wap/'.$m.'/'.$c.'.inc.php');

}else{

include_once(ROOT_PATH.'module/'.$m.'/'.$c.'.inc.php');

}

//判断是手机登录还是电脑登录

function ismobile() {

// 如果有HTTP_X_WAP_PROFILE则一定是移动设备

if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) return true;

//此条摘自TPM智能切换模板引擎,适合TPM开发

if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT']) return true;

//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息

if (isset ($_SERVER['HTTP_VIA'])) return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;

//判断手机发送的客户端标志,兼容性有待提高

if (isset ($_SERVER['HTTP_USER_AGENT'])) {

$clientkeywords = array(

'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'

);

//从HTTP_USER_AGENT中查找手机浏览器的关键字

if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {

return true;

}

}

//协议法,因为有可能不准确,放到最后判断

if (isset ($_SERVER['HTTP_ACCEPT'])) {

// 如果只支持wml并且不支持html那一定是移动设备

// 如果支持wml和html但是wml在html之前则是移动设备

if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {

return true;

}

}

return false;

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史


http://www.ppmy.cn/news/487387.html

相关文章

打开信息服务器不可用是什么意思,数据服务暂时不可用什么意思

信的配置步骤&#xff1a; 1、选择主菜单中的“访问网络”&#xff1b; 2、进入后选择菜单中的“应用下载”&#xff1b; 3、继续选择“新条目”&#xff0c;编辑“姓名”&#xff0c;填入“中国移动MMS”&#xff1b;“主页”处写“"&#xff1b; “服务类型”默认为“wa…

java的mvc模式是什么_什么是mvc模式

MVC是一个架构,或者说是一个设计模式,它就是强制性使应用程序的输入,处理和输出分开。将一个应用程序分为三个部分:Model,View,Controller。 原理图: 分析: Model模型(完成业务逻辑:由javaBean构成,在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和…

mysql实例名是什么意思_什么是数据库实例

一、通俗解释 首先说说,数据库是做什么? 数据库是用来长久存储数据的,而我们大家都知道内存只能临时存储,磁盘等才能真正存储数据. 那数据库会放那里呢?肯定是存放在磁盘上,其实数据库就是磁盘上的一个文件。 从上面我们得出结论:数据库==磁盘上的文件. 既然数据库可以看成磁…

瓦片是什么意思?

先了解几个概念&#xff1a; 一、经纬度 地球是个椭球&#xff0c;Datum是一组描述这个椭球的数据集合。最常用的一个Datum是WGS84&#xff08;World Geodetic System 1984&#xff09;。主要的参数有&#xff1a;长短轴&#xff0c;质心&#xff0c;子午线&#xff0c;扁平比…

wap2app是什么

wap2app 是一个将现有M站(也称手机wap站,区别于pc的web站)快速发布成 App 的增强方案,通过 DCloud 的 wap2app 框架,进行简单的配置和必要的编程,即可完成M站的体验强化,达到原生应用的功能体验,进而再发布为原生安装包或流应用。 名词解释 wap 这里并不是严格意义上的…

什么是WAP?

译者序: 我当初翻译这篇文章只是出于个人对这个技术的好奇,没想到会得到大家的激烈讨论,至于WAP技术的前景和发展演化,我将继续为大家翻译更好的文章。我的第二篇关于WAP的文章《WAP FAQ24问》已经发表,在哪儿也许会消除您对部分问题的疑惑。  有关这篇文章的技术性问题…

WAP是什么意思?

WAP&#xff08;Wireless Application Protocol&#xff09;无线应用协议是一个开放式标准协议&#xff0c;利用它可以把网络上的信息传送到移动电话或其他无线通讯终端上。WAP是由爱立信&#xff08;Ericsson&#xff09;、诺基亚&#xff08;Nokia&#xff09;、摩托罗拉&…

SPI实验-ICM20608测量值计算与IMX6ULL开启硬件浮点

一. SPI 实验 SPI实验&#xff1a;学习如何使用 I.MX6U 的 SPI 接口来驱动 ICM-20608&#xff0c;读取 ICM-20608 的六轴数据。 ICM20608 传感器包括陀螺仪与加速度计&#xff0c;还有温度值。本篇文章来学习 通过ADC的值&#xff0c;来转换为实际的值。例如&#xff0c;通过陀…