首頁 > php教程 > PHP源码 > 主體

PHP網頁產生二維碼,Android客戶端掃碼登入

大家讲道理
發布: 2016-11-08 11:41:55
原創
1439 人瀏覽過

使用了Github上具有扫码功能的ZXing开源库,使用了通过随机数生成二维码图片网络API,整个过程经过三步:
1.PHP网页生成二维码,相应随机数存储到数据库中;
2.Android客户端扫码,携带username保存至随机数对应的位置;

3.每隔一段时间,PHP通过Ajax轮询数据库,判断是否为空,不为空则跳转网页。

<html>
  <head>
    <title>qrlogin</title>
    <meta charset="UTF-8"/>
  </head>
  <body>
    <?php
    /**
     * @author Cenquanyu
     * @version 2016年5月12日
     *
     */
       require &#39;mysql_connect.php&#39;;
       $randnumber = "";
       for($i=0;$i<8;$i++){
       $randnumber.=rand(0,9);
       }
       //将生成的随机数保存至数据库
       mysql_query("insert into login_data (randnumber) values (&#39;$randnumber&#39;)")
        
    ?>
     
   <img  src="http://qr.liantu.com/api.php?text=<?php echo $randnumber;? alt="PHP網頁產生二維碼,Android客戶端掃碼登入" >" width="300px"/>
   <input hidden="hidden" type="text" name="randnumber" id="randnumber"value="<?php echo $randnumber;?>"/>
  
  </body>
  <script>
    xmlHttpRequest.onreadystatechange = function(){
       if(xmlHttpRequest.status == 200 && xmlHttpRequest.readyState ==4){
    result = xmlHttp.responseText;
    if(result==true){//username不为空则跳转页面
         window.location.href=&#39;welcome.php&#39;;
    }
}
}
  }
  function polling(){
 
      //执行轮询操作
      var xmlHttpRequest;
      if(window.XMLHttpRequest){
          xmlHttpRequest = new XMLHttpRequest();
          }
      else{
          xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }
       randnumber = document.getElementById(&#39;randnumber&#39;).value;
       xmlHttpRequest.open("GET","polling.php?randnumber="+ randnumber,true);
       xmlHttpRequest.send();
  }
       setInterval("polling()",1000);
</script>
 
</html>
登入後複製


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板