查看: 986|回复: 6
|
怎样写一个php网站+wap?
[复制链接]
|
|
怎样写一个php网站+wap?
电脑可以进...手机也可以进(wap)
共用一个database..
请问怎样做到?
谢谢. |
|
|
|
|
|
|
|
发表于 18-9-2007 03:23 AM
|
显示全部楼层
1)首先,写个code 测试当前的协议是否是http或wap
2)如果是http,输出的便是html文件,wap则是wml文件。。。 写法请参考这里 http://www.w3schools.com/wap/default.asp
3) 将wap写成一个class,我的做法是
- class wap {
- function wapHeader() {}
- function wmlHeader() {}
- function wmlBody() {}
- function wmlFooter() {}
- }
复制代码
4) 关于和database的互动,一切和普通html+php的操作和写法是一样的,只是输出文件的格式不一样而已
比如在login.php
- // initialize a new wap class
- $wap = new Wap();
- //detect current document
- if (xxx == "wap") {
- define(DOCUMENT, "wml");
- } else {
- define(DOCUMENT, "html");
- }
-
- if (isset($_GET['action']) && $_GET['action']=='login') {
- //compare to data in mysql, with mysql_query(), blah blah blah.....
- if (($UserName=="ikanyuchiew") && ($Password=="www.jawisoft.com")) {
- if (DOCUMENT == "wml") {
- // ...........
- }
- } else {
- if (DOCUMENT == "wml") {
- $wap->errorMsg(); //output error msg
- }
- }
- }
复制代码
以上纯属pseudocode,不过idea is there  |
|
|
|
|
|
|
|
发表于 18-9-2007 10:20 AM
|
显示全部楼层
- $htmlredirect = "http://www.yourwebmainsite.com"; //your main site
- $wmlredirect = "http://www.yourwebmainsite.com/wap/menu.php"; //your wap site address
- $wml2redirect = "http://www.yourwebmainsite.com/wap2/menu.php"; //your wap2 site address
- $mobile_browser = '0';
- if(preg_match('/(up.browser|up.link|windows ce|iemobile|mmp|symbian|smartphone|midp|wap|phone|vodafone|o2|pocket|mobile|pda|psp)/i',strtolower($_SERVER['HTTP_USER_AGENT']))){
- $mobile_browser++;
- }
- if(((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'text/vnd.wap.wml')>0) or (strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0)) or ((((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or isset($_SERVER['X-OperaMini-Features']) or isset($_SERVER['UA-pixels'])))))){
- $mobile_browser++;
- }
- $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
- $mobile_agents = array('acs-','alav','alca','amoi','audi','aste','avan','benq','bird','blac','blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno','ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-','maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-','newt','noki','opwv','palm','pana','pant','pdxg','phil','play','pluc','port','prox','qtek','qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar','sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-','tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp','wapr','webc','winw','winw','xda','xda-');
- if(in_array($mobile_ua,$mobile_agents)){
- $mobile_browser++;
- }
- if($mobile_browser>0){
- header("302 Moved Temporarily");
- header("Location: ".$wml2redirect);
- }
- else{
- header("302 Moved Temporarily");
- header("Location: ".$htmlredirect);
- }
复制代码
这是我的做法。 |
|
|
|
|
|
|
|

楼主 |
发表于 18-9-2007 01:07 PM
|
显示全部楼层
为何要有 //your wap2 ?
wap 需要register 另外的domain 吗? |
|
|
|
|
|
|
|
发表于 18-9-2007 01:46 PM
|
显示全部楼层
原帖由 paybas1988 于 18-9-2007 01:07 PM 发表 
为何要有 //your wap2 ?
wap 需要register 另外的domain 吗?
他的意思是把WML 写在别个FOLDER 里面. |
|
|
|
|
|
|
|

楼主 |
发表于 18-9-2007 01:49 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 18-9-2007 01:57 PM
|
显示全部楼层
原帖由 paybas1988 于 18-9-2007 01:49 PM 发表 
不是,他有 wap wap2,什么意思?
wap 有两个version..wap和 wap2 ..
那个wap 可以不理。。大致上现在的手机都support wap2 了。。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|