首 页WAP教程WAP源码WAP电子书客户留言龙腾电脑维修网158网络电视本站论坛繁體中文
设为首页
加入收藏
联系我们
您当前的位置:WAP开发网 -> WAP教程 -> WML教程 -> 文章内容 退出登录 用户管理
栏目导航
· ASP WAP开发教程 · ASP.net WAP开发教程
· PHP WAP开发教程 · WML教程
· JSP开发WAP教程 · WAP 2.0
· 综合杂谈
热门文章
· WAP 2.0教程
· WML语言基础(WAP建站...
· 用VS2005实现ASP.NE...
· [组图] php WAp开发教程
· WML语言基础(WAP建站...
· VS.NET 2003开发移动...
· [图文] ASP技术进行动态WAP...
· [图文] WML语言基础(WAP建站...
· asp.net移动控件开发...
· [图文] 创建移动Web应用程序...
相关文章
· asp.net强制输出WML...
· WML初级教程之关于W...
· 使用WML和ASP编写动...
· [推荐] 如何链接WML和XHTML...
· WAP初级教程----WML...
· WAP初级教程---WML基...
· PHP建立动态的WML站...
· wml如何实现下载图片...
· WML语言全垒打
· 可以通过WML使得可以...
应用于移动电话的WML(Wireless Markup Language)开发
作者:不详  来源:本站整理  发布时间:2006-4-27 13:56:32  发布人:tangyunfei

减小字体 增大字体





---- 当你想使用MAOOQS的时候,在你的WAP手机上(或者是在WAP的开发工具中)输入http://myserver/login.wml,这时WML浏览器交要的显示一个"Welcome to" 屏幕,然后会出现一个登录屏幕,"Welcome to" 和登录卡的WML源代码如下所示:

< card id="welcome" title="Welcome to" newcontext="true"
      ontimer="#login" >
  < timer value="30"/ >
  < p align="center" >
  < big >MAs On-line< /big >< br/ >
  < em >Order Query System< /em >
  < /p >
< /card >
 
< card id="login" title="Login" newcontext="true" >
  < p >
  < em >Enter your ID:< /em >< br/ >
  < input name="custid" value="1221" maxlength="4"
        format="*N" emptyok="false"/ >
  < em >Enter your password:< /em >< br/ >
  < input name="password" value="HI" maxlength="10"
        format="*M" emptyok="true"/ >
  < br/ >
  < do type="accept" label="Login" >
    < go method="post" href="/scripts/ma_ooqs.dll/login" >
      < postfield name="custid" value="$(custid)"/ >
      < postfield name="password" value="$(password)"/ >
    < /go >
  < /do >
  < /p >
< /card >


---- 登录屏幕包括两个输入字段,一个是用户的ID ,另外一个是密码。这两个字段是使用WML的< INPUT >标识符来创建的,用户输入的各种各样的名字是由NAME属性定义的。
---- < DO >标识符定义了一个< go >的作用,它指向例程的ISAPI 的DLLS(确省的路径是/scripts/ma_ooqs.dll)。< go >使用标准的http 的post命令来发送用户输入的数据到这个dll中。注意< postfield >标识符自动的指示浏览器通过http协议来翻译用户输入的$(custid)和$(password) 变量。

---- 当用户点击登录命令的时候,这个wap手机连接到这个dll,这样使得这个dll执行如图所示的登录动作。首先,代码从Request.ContentFields 属性中提取出custid 和password字段。当被确认之后,(又专门的数据库来保存这些信息,通过遍历数据库的方法来确认它,这个遍历的函数是IsValidCustID,如下代码说示

function TMAWebModule.IsValidCustID
(CustID, Password: string): Boolean;
begin
  DebugMessage(IsValidCustID:#13CustID=" + CustID +
              #13Password=" + Password + ");
  Result := False;
  with Customer do begin
    try
      Open;
      if Locate(custno,CustID,[]) then
        if (LowerCase(CustomerState.AsString) =
            LowerCase(Password)) then
          Result := True;
    finally
      Close;
    end;
  end;
end;
 
procedure TMAWebModule.MAWebModuleLoginAction(
  Sender: TObject; Request: TWebRequest;
  Response: TWebResponse; var Handled: Boolean);
var
  CustID, Password : string;
begin
  CustID := Request.ContentFields.Values[custid];
  Password := Request.ContentFields.Values[password];
  { Check validity of custid/password. }
  with Response do begin
    if IsValidCustID(CustID,Password) then
      begin
        DebugMessage(CustID/Password is valid.);
        MAWebModuleMainMenuAction(Sender, Request,
                                  Response, Handled);
      end
    else
      begin
        DebugMessage(Invalid CustID/Password pair.);
        ContentType := MIMETypeWML;
        Content := InvalidIDPageWML;
      end;
  end;
  Handled := True;
end;

---- 由于DBDEMOS数据库不包含真实的用户ID和相应的密码,例程使用客户表Customer 中的的CustNo字段来做ID,使用State字段来作相应的密码。为测试这个意图,你可以使用如下的ID 和PASSWORD:"1221" and "HI"; "1560" and "FL"; and "1680" and "GA." 返回到浏览器上的WML代码
---- 一般的,WebBroker应用通过对在OnAction事件句柄中的Response对象的控制返回一些简单的HTML代码到浏览器中,。TWebResponse类通过Response 参数的一个Content 属性来表示,它可以接收被这个事件句柄创建的HTML代码。

---- 当用户的浏览器接收数据的时候,它根据它的MIME类型(Multipurpose Internet Mail Extensions)来处理它。TWebResponse 类的MIME类型缺省类型是"text/html",它指定Content 属性的数据类型,确实的是,HTML代码。

---- 但是,WAP应用需要WML(version1.1)的数据的MIME类型"text/vnd.wap.wml." 因此,Response 对象的ContentType属性需要被改变。注意,ContentType 属性可以被改变成任何有效的MIME类型。例如:改变该属性为"image/gif" 就会允许改动作返回一个位图的图像数据(binary.gif)。

---- 当定义好正确的MIME类型后,该动作事件的句柄就会清楚的设置Content 属性可包含有效的WML代码。由于每一个由application产生的WML页都需要一个公共的题头,这个例程定义了一个名字是WMLHeader 的常量来包含这个信息。

---- 存储返回到数据库中的数据当用户成功登录之后,用户重新回到海上探险的主菜单。通过这个菜单,用户可以选择查看客户的信息或者是订单的状态。如果客户选择用户信息的超链接,将执行MAWebModule Web 模块的 CustInfoAction方法的这个定义过的方法。

---- 首先,代码返回到随着post http命令的CustNo参数,当登录的用户的信息在客户表中被查找到以后,代码创建包括三个输入字段的WML代码。最初,三个输入字段包括客户的zip号码,城市,和state,(记着,这个state是口令). 用户可以调整这三个字段,他可以通过选择"Modify Info"命令,用户可以保存新的值返回到数据库。当用户选中这条命令的时候,将执行ModifyCustAction 方法。(见下图)

上一页  [1] [2] [3]  下一页

[] [返回上一页] [打 印] [收 藏]
上一篇文章:wml简单动画实例
下一篇文章:WML语法大全
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright © 2002-2005 wapkf.com. All Rights Reserved .
浙ICP备06013604号|站长QQ:274273595