wap中應用下拉式清單

來源:互聯網
上載者:User

      由於公司需要,這段時間開始接觸wap的開發。目前實現的功能比較簡單,wap所用的是wml語言,配合使用wml script來顯示頁面。由於功能比較簡單就用php來寫動態指令碼。用php來輸出wml標籤。當初在學習的時候有些不懂的地方,在網上的資料也不是很多,於是整理了個小例子供大家參考。

     下面的例子主要實現的是在使用者登入時可以選擇使用者名稱儲存的時間,如果存在已經儲存的使用者名稱和密碼,則在下拉式清單中顯示出來。當使用者選擇下拉式清單中的使用者名稱時,在使用者名稱框和密碼框中顯示對應的使用者名稱和密碼。密碼是經過MD5加密後儲存的。

 

     下面看代碼:

      如果使用者選擇儲存使用者名稱和密碼,則將使用者名稱和經過MD5加密後的密碼以“使用者名稱|密碼”的格式進行儲存。如果有多組使用者名稱和密碼,則將使用者名稱和密碼放在數組中。

 

     注意:php cookie中是無法儲存數組格式的,因此先將數組轉化成字串。如:

       $arrayusername_str=implode(",",$arrayusername);//將數群組轉換為字串,每個數組元素之間用“,”隔開。

 

登入頁面:index.php

<?php<br /> header("Content-type:text/vnd.wap.wml;charset=gb2312");<br /> echo "<?xml version=/"1.0/" encoding=/"gb2312/" ?>/n";<br /> echo "<!DOCTYPE wml PUBLIC /"-//WAPFORUM//DTD WML 1.1//EN/" /"http://www.wapforum.org/DTD/wml_1.1.xml/">/n";<br /> echo "<wml>";<br /> echo "<card title=/"登入/" id=/"card1/">";<br /> echo "<p>";<br /> if(array_key_exists("name",$_GET))<br /> {<br /> $name2=$_GET["name"];<br /> }<br /> else<br /> {<br /> $name2="";<br /> }<br /> if(array_key_exists("pass",$_GET))<br /> {<br /> $pass2=$_GET["pass"];<br /> }<br /> else<br /> {<br /> $pass2="";<br /> }<br /> if(array_key_exists("reset1",$_REQUEST))<br /> {<br /> $reset1=$_REQUEST["reset1"];<br /> }<br /> else<br /> {<br /> $reset1=0;<br /> }<br /> if(array_key_exists('USERNAMEPWD',$_COOKIE))<br /> {<br /> $arrayusername=$_COOKIE['USERNAMEPWD'];<br /> if($arrayusername!="")<br /> {<br /> $pos1=strpos($arrayusername,",");//尋找是否有“,”,判斷使用者名稱和密碼的個數。<br /> if($pos1==false)//如果沒有,則只有一個使用者名稱<br /> {<br /> $arrayusername=array($arrayusername);<br /> }<br /> else<br /> {<br /> $arrayusername=explode(",",$arrayusername);//以“,”分割字串儲存在數組中<br /> }</p><p> }<br /> }<br /> else<br /> {<br /> $arrayusername=array();<br /> }</p><p> if(count($arrayusername)>0)<br /> {<br /> if($arrayusername!=null&&count($arrayusername)>0)<br /> {<br /> //foreach($arrayusername as $key=>$value)<br /> {<br /> $pos=strpos($arrayusername[0],"|");//檢查$value中是否含有"|";如果沒有則返回false<br /> if($pos!=false)<br /> {<br /> $arr=explode("|",$arrayusername[0]);//分離使用者名稱和密碼<br /> $name=$arr[0];<br /> $pass=$arr[1];//加密過後的密碼<br /> }<br /> }</p><p> }<br /> }<br /> if($name2==""&&$pass2=="")<br /> {<br /> $name2=$name;<br /> $pass2=$pass;<br /> }<br /> if($reset1==1)<br /> {<br /> $name2="";<br /> $pass2="";<br /> }<br /> echo "使用者名稱:<input name=/"username1/" size=/"15/" value=/"$name2/"/>";<br /> echo "<br/>";<br /> if(count($arrayusername)>0)//如果cookie中沒有使用者名稱和密碼,則不顯示下拉式清單<br /> {<br /> echo "<select name=/"user/">";<br /> if($arrayusername!=null&&count($arrayusername)>0)<br /> {<br /> echo "<option value=/"def/" >可選擇一個使用者登入</option>";<br /> foreach($arrayusername as $key=>$value)<br /> {<br /> $pos=strpos($value,"|");//檢查$value中是否含有"|";如果沒有則返回false<br /> if($pos!=false)<br /> {<br /> $arr=explode("|",$value);//分離使用者名稱和密碼<br /> //當使用者選擇下拉式清單中的使用者名稱的時候,首先清空使用者名稱框和密碼框中的資料,否則因為緩衝的原因,會一直顯示剛開始輸入的使用者名稱和密碼,然後將選中的使用者名稱和密碼提交到index.php,也就是當前頁面。<br /> echo "<option value=/"".$value."/">".$arr[0]."<onevent type=/"onpick/"><go href="/" mce_href="/""index.php?name=$arr[0]&pass=$arr[1]/"><setvar name=/"username1/" value=/"/"/><setvar name=/"password1/" value=/"/"/><setvar name=/"flag/" value=/"/"/></go></onevent></option>";<br /> }<br /> else<br /> {<br /> echo "<option value=/"".$value."/" onpick=/"index.php/">".$value."</option>";<br /> }<br /> }<br /> }<br /> echo "</select><br/>";<br /> }<br /> //echo $pass;<br /> echo "密 碼:<input name=/"password1/" type=/"password/" size=/"15/" format=/"*m/" value=/"$pass2/"/>";<br /> echo "<br/>";<br /> //echo "<br/>$pass3";<br /> echo "<select name=/"flag/"><br /> <option value=/"0/">永久儲存</option><br /> <option value=/"1/">儲存一周</option><br /> <option value=/"2/">不儲存</option><br /> </select></p><p><br /> <br/><br /> <anchor>登入";<br /> echo "<go href="/" mce_href="/""carlist.php?Action=CheckLogin/" method=/"post/">";<br /> ?><br /> <postfield name="username"<br /> value="$(username1)"></postfield><br /><postfield name="password"<br /> value="$(password1)"></postfield><br /> <postfield name="flag"<br /> value="$(flag)"></postfield><br /> <postfield name="user"<br /> value="$(user)"></postfield><br /></go><br /></anchor></p><p><br /> <anchor>重設<go href="index.php?reset1=1" mce_href="index.php?reset1=1"><setvar name="username1" value=""/><br /> <setvar name="password1" value=""/><setvar name="user" value=""/><br /> <setvar name="flag" value=""/></go></anchor><br /></p><br /> <?php<br /> if(count($arrayusername)>0)<br /> {<br /> echo "<p>";<br /> echo "<anchor>清除全部密碼<go href="/" mce_href="/""carlist.php?Action=ClearAll/"><setvar name=/"username1/" value=/"/"/><setvar name=/"password1/" value=/"/"/><setvar name=/"flag/" value=/"/"/></go></anchor></p>";<br /> }<br /> ?><br /></card><br /></wml>

   由於初學wap和php,有不足之處還請各位給予指正,大家共同學習。呵呵。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.