设为首页
  网站地图
  联系我们

繁體 网通 English
香草种子
花卉种子
药材种子
蔬菜种子
草坪种子
更多分类
种子价格
栽培种植
动态|图片|邮箱|搜索|视频|黄页|图书|学院|供求|法规|音像|地图|网址|工具|林木种子|城市|农业互联|论坛
您目前所在的位置

首页>>网络学院>>正文

最新滚动新闻

不造谣 不传谣 不信谣
福娃挂件
音像VCD光盘图片
种子中国祝全国人民新年快乐!
2008年适宜种植的中药材品种
黄金广告位 先到先得
注册阿里妈妈赚广告费
超级经典网页小图标
网通用户请点此处访问
在线电子万年历查询

WAP网站(wml)开发技术


    Response.Flush
    Response.End
%>
43. 可能在WML中实现ASP Session吗?
    不可能。可以把信息存储在临时变量中模拟Session。Session是保存在用户PC上的“cookies”中。目前的WAP设备不支持“cookies”。不过下一代的设备和WML可能支持“cookies”。
44. WAP支持Session吗?
    在HTML中,一个十分普遍的“处理”用户的方法就是为每个用户分配一个“session”。这个有时候是通过指定一个独一无二的cookies来实现的。然而WAP的资源非常有限,因此session的处理必须以不同的方式来处理。
    Alex Kriegel 提供了一个安装在 WAPlinks的Custom Session Object包。这个zip文件中包含了VB类的文件和编译过的Dll文件,还有相关的文档。这些可以在http://www.waplinks.com/customsessionobject.zip下载。
    另外一种方法是使用 PHPlib ,它是使用 PHP 编写的。
    Tarique (tarique@nagpur.dot.net.in) 提供了如何使用PHPlib来验证和处理每个WAP用户。有相关的文件和注释可以到下面地址下载:
    http://wap.colorline.no/wap-faq/archive/phplib_wml.zip
45. 可以在WAP中使用Cookies吗?
    在理论上是可以的,但不是所有的WAP设备都支持。另一个方法来管理会话是使用隐藏的fields(包含会话标识,无论是POST或者GET方式)。

46. WAP支持Cookies吗?
    普通的HTTP Cookies是作为WAP的扩展来实现的。无论你以前听到什么,Cookies的支持将越来越好。实际上Phone.com的 UP.Link网关已经支持这个功能有一段时间了。
    可以使用以下的脚本语言检测Cookie-support,:
        http://wap.colorline.no/wap-faq/apps/cookietest.php3
    脚本在http://wap.colorline.no/demos.html也可以得到。
    当第一次看见卡片的时候,记数器应该为0。所有的Cache都被关闭。卡片通过在URL中随机地加入变量来强制自己加载(笔者不推荐这种强制加载办法)。当点击增加计数连接,页面将重新加载,卡片就再次出现,并且记数器变成1。
    在脚本中,Cookie的名字被称做 TestCookie,它有很长的生命期,因此可以隔好几天再来查看记数器,它将是上一次的数值。这要求你能使用与上一次访问所使用的WAP环境一样,否则将把你的数值清0。
    如果记数装置一直都是0,那么cookie 就没有能传送到你的Web Server。这个脚本也能表示Cookie是否被传送。
    另外,这个脚本同样还显示HTTP头中的HTTP_VIA 和 HTTP_USER_AGENT 。这些能够得到所使用的网关和模式。一些网关使用HTTP_VIS标识自己,而另外一些使用HTTP_USER_AGENT,还有一些则让程序无法知道。
    下面是它的PHP代码。一个标准的 PHP setcookie() 函数只有在这种脚本语言中才会出现。函数只是简单地设置cookie,并且PHP变量 $HTTP_COOKIE_VARS 用来读取cookie。
<?
if(isset($HTTP_COOKIE_VARS["TestCookie"]))
{// Check if TestCookie is set
      $cookieset = "set";
// Read the Cookie
      $cookieid = $HTTP_COOKIE_VARS["TestCookie"];
  // and increase its value
      $cookieid++;
     }
    else {
  // cookie was not set
      $cookieset = "not set";
  // start counter at zero
      $cookieid = 0;
    }
  // apply the Cookie to the HTTP header
 setcookie("TestCookie",$cookieid);
  // set the content type for WML
    header("Content-type: text/vnd.wap.wml");
// disable ALL caching
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-cache, must-revalidate");          
    header("Pragma: no-cache");                                  
    echo("<?xml version=\"1.0\"?>\n");
 echo("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\"
 \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\n");
 echo("<!-- This application attempts to test the capabilities of a WAP gateway to support     cookies -->\n");
    echo("<!-- App by Espen.Lyngaas@colorline.no (c) 2000 -->\n");
  // Generate random value for reload forcing
    $random = mt_rand(100000,999999);
 ?>
  <wml>
  <head>
// Even more cache disabling
<meta forua="true" http-equiv="Cache-Control" content="must-revalidate"/> 
  </head>
  <card id="init" title="CookieTest">
  <p>
   Cookie "TestCookie" was <?echo($cookieset)?>.
   Value is currently "<?echo($cookieid)?>"
  </p>
  <p>
<anchor>
Increase value
<go method="get" href="<?echo($PHP_SELF)?>?random=<?echo($random)?>"/>
</anchor>
</p>
<p>Gateway: 
  <?
    if(isset($HTTP_VIA))
{ // Is there something in the HTTP_VIA variable?
      echo($HTTP_VIA);
    }
    else {
      if(isset($HTTP_USER_AGENT))
{ // Is there something in the HTTP_USER_AGENT variable?
        echo($HTTP_USER_AGENT);
      }
      else {
// Absolutely no identifier was found
        echo("Unknown");
      }
    }
  ?>
  </p>
  </card>
  </wml>
47. 如何使用WAP设备发送E-Mail?
    在HTML中有一个默认的E-Mail机制:“ mailt” 。但在WML中不好使,因此E-Mails必须通过WML表单来解决。例如:
<wml>
     <card id="edit" title="Email Editor">
      <p>From: <input type="text" name="from" format="*M"/></p>
      <p>T <input type="text" name="to" format="*M"/></p>
      <p>Subject: <input type="text" name="subject" format="*M"/></p>
      <p>Message body: <input type="text" name="body" format="*M"/></p>
      <p>
        <anchor>Send this mail
          <go method="post" href="http://some.host/mailhandler"?action=send/">
            <postfield name="from" value="$(from)"/>
            <postfield name="to" value="$(to)"/>
            <postfield name="subject" value="$(subject)"/>
            <postfield name="body" value="$(body)"/>
          </go>
       </anchor>
      </p>
   </card>
</wml> 
    在代码中的http://some.host/mailhandler是一个CGI程序,它是服务端的脚本程序,将提交的表单转换成E-Mail格式并发送出去。

本内容共8页,当前在第7页  1  2  3  4  5  6  7  8  

更多精彩内容请点击 更多精彩内容请点击
 
下一篇
WEB标准
上一篇
CSS完全教程

点此处与我们在线交流&或给我们留言
Copy Of Right © 2004 - 2008 Zhongzi.net, All Rights Reserved
版权所有:种子中国 运营:种子中国网络信息中心
电话:021-54081687 传真:021-51901687
Email/Msn: web@zhongzi.net
沪ICP备05000005号 公安网络备案许可证 支付宝信任商家 上海种子行业协会
工商执照
支付宝信任商家
Seedchina,chinaseed,Seeds,flowers