Heim  >  Artikel  >  php教程  >  PHP网页生成二维码,Android客户端扫码登录

PHP网页生成二维码,Android客户端扫码登录

大家讲道理
大家讲道理Original
2016-11-08 11:41:551396Durchsuche

使用了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>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn