亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

php生成Android客戶端掃描可登錄的二維碼
來源:易賢網(wǎng) 閱讀:1575 次 日期:2016-08-23 15:05:58
溫馨提示:易賢網(wǎng)小編為您整理了“php生成Android客戶端掃描可登錄的二維碼”,方便廣大網(wǎng)友查閱!

本文實例為大家分享了php網(wǎng)頁生成二維碼,Android客戶端掃描登錄的具體代碼,供大家參考,具體內(nèi)容如下

使用了Github上具有掃碼功能的ZXing開源庫,使用了通過隨機(jī)數(shù)生成二維碼圖片網(wǎng)絡(luò)API,整個過程經(jīng)過三步:

1.PHP網(wǎng)頁生成二維碼,相應(yīng)隨機(jī)數(shù)存儲到數(shù)據(jù)庫中;

2.Android客戶端掃碼,攜帶username保存至隨機(jī)數(shù)對應(yīng)的位置;

3.每隔一段時間,PHP通過Ajax輪詢數(shù)據(jù)庫,判斷是否為空,不為空則跳轉(zhuǎn)網(wǎng)頁。

具體代碼:

1. 通過隨機(jī)數(shù)生成二維碼圖片,并執(zhí)行輪詢操作命令的主頁面

<html>

 <head>

  <title>qrlogin</title>

  <meta charset="UTF-8"/>

 </head>

 <body>

  <?php

  /**

   * @author Cenquanyu

   * @version 2016年5月12日

   *

   */

    require 'mysql_connect.php';

    $randnumber = "";

    for($i=0;$i<8;$i++){

    $randnumber.=rand(0,9);

    }

    //將生成的隨機(jī)數(shù)保存至數(shù)據(jù)庫

    mysql_query("insert into login_data (randnumber) values ('$randnumber')")

  ?>

  <img src="http://qr.liantu.com/api.php?text=<?php echo $randnumber;?>" 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不為空則跳轉(zhuǎn)頁面

     window.location.href='welcome.php';

  }

}

}

 }

 function polling(){

   //執(zhí)行輪詢操作

   var xmlHttpRequest;

   if(window.XMLHttpRequest){

     xmlHttpRequest = new XMLHttpRequest();

     }

   else{

     xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");

   }

    randnumber = document.getElementById('randnumber').value;

    xmlHttpRequest.open("GET","polling.php?randnumber="+ randnumber,true);

    xmlHttpRequest.send();

 }

    setInterval("polling()",1000);

</script>

</html>

2. 數(shù)據(jù)庫連接頁面     

<?php

/**

 * 數(shù)據(jù)庫連接文件

 * @author Cenquanyu

 * @version 2016年5月12日

 * 

 */

$con = mysql_connect("localhost","root","") or die(mysql_error());

mysql_select_db("qr_login");

?>

3.執(zhí)行輪詢操作的頁面,username不為空則跳轉(zhuǎn)     

<?php

/**

 * @author Cenquanyu

 * @version 2016年5月12日

 * 執(zhí)行輪詢操作,查詢隨機(jī)數(shù)在數(shù)據(jù)庫中的相應(yīng)位置的username字段為不為空

 * 為空,則返回false,頁面不跳轉(zhuǎn)

 * 不為空,則說明有用戶進(jìn)行了該二維碼的掃碼登錄,頁面進(jìn)行跳轉(zhuǎn)

 */

require 'mysql_connect.php';

$randnumber = $_GET['randnumber'];

$result = mysql_query("select * from login_data where randnumber='$randnumber'");

$row = mysql_fetch_array($result);

if($row['username']!="")

  echo "true";

else

  echo "false";

?>

4.自定義的API,對客戶端的username進(jìn)行保存     

<?php

/**

 * @author Cenquanyu

 * @version 2016年5月12日

 * 自定義API用于Android客戶端掃碼登錄,將客戶端的username保存至二維碼對應(yīng)的隨機(jī)數(shù)在數(shù)據(jù)庫中的相應(yīng)位置。

 * 參數(shù):username,randnumber

 * 無返回值

 */

$randnumber = $_GET('randnumber');

$username = $_GET('username');

require 'mysql_connect.php';

mysql_query("update qr_login set username='$username' where randnumber= '$randnumber'");

?>

5. Android客戶端執(zhí)行掃碼操作的Activity     

package com.Cenquanyu.qrlogin;

import com.Cenquanyu.qrlogin.R;

import com.zxing.activity.CaptureActivity;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Paint.Cap;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

/**

 * @author Cenquanyu

 * @version 2016年5月12日

 * 

 */

public class MainActivity extends Activity implements OnClickListener {

  private Button btnScan;

  private EditText etUsername;

  private static final String WEB_URL = "http://172.31.19.202/QRLogin/";//改成PC端相應(yīng)地址

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    btnScan = (Button) findViewById(R.id.btnScan);

    btnScan.setOnClickListener(this);

    etUsername = (EditText) findViewById(R.id.etUsername);

  }

  @Override

  public void onClick(View v) {

    // 掃碼操作

    Intent intent = new Intent(this, CaptureActivity.class);

    startActivityForResult(intent, 0);//返回結(jié)果

  }

  @Override

  protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == Activity.RESULT_OK) {

      String randnumber = data.getExtras().getString("result");//客戶端掃碼后返回掃描結(jié)果,將二維碼對應(yīng)的隨機(jī)數(shù)取出

      String username = etUsername.getText().toString();

      String url = WEB_URL + "saveUsername.php?randnumber=" + randnumber

          + "&username=" + username;

      HttpUtils.login(url);//訪問url

    }

  }

}

6. 網(wǎng)絡(luò)請求類

package com.Cenquanyu.qrlogin;

import java.io.IOException;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

public class HttpUtils{

  public static void login(final String url){

    new Thread(new Runnable() {

      @Override

      public void run() {

        HttpURLConnection connection;

        try {

          connection = (HttpURLConnection) new URL(url).openConnection();

          connection.setRequestMethod("GET");

          connection.getInputStream();

        } catch (Exception e) {

          e.printStackTrace();

        }

      }

    }).start();

  }

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:php生成Android客戶端掃描可登錄的二維碼
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點

版權(quán)所有:易賢網(wǎng)

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
日韩天天综合| 国产视频一区在线观看一区免费| 欧美日韩一区在线视频| 国产精品久久| 亚洲美女一区| 久久精品国产第一区二区三区最新章节 | 欧美精品在线一区| 悠悠资源网久久精品| 中文网丁香综合网| 欧美成人中文| 一本色道久久综合亚洲精品高清| 裸体一区二区| 在线观看福利一区| 久久久久中文| 亚洲精品乱码久久久久久蜜桃麻豆 | 在线看无码的免费网站| 国产精品一区在线播放| 欧美色123| 性色一区二区| 亚洲经典在线看| 亚洲欧美文学| 亚洲资源av| 亚洲高清在线观看一区| 欧美激情1区| 亚洲影视综合| 亚洲黄色一区二区三区| 欧美日本韩国一区二区三区| 亚洲综合日韩| 国产视频一区在线观看一区免费| 亚洲午夜精品国产| 久久精品盗摄| 亚洲欧美日韩精品一区二区| 亚洲区欧美区| 激情综合电影网| 蜜桃久久精品乱码一区二区| 99精品热视频只有精品10| 国内精品久久久久久久影视麻豆 | 国产日韩精品一区观看| 欧美少妇一区| 欧美a级片网站| 亚洲欧美日韩国产一区| 国产欧美不卡| 亚洲视频1区| 国产欧美激情| 宅男噜噜噜66国产日韩在线观看| 伊人久久综合| 亚洲欧洲另类| 亚洲人成久久| 在线一区视频| 国产精品三上| 米奇777在线欧美播放| 亚洲影院一区| 久久久亚洲一区| 可以看av的网站久久看| 欧美另类一区| 国产综合网站| 99精品国产一区二区青青牛奶| 亚洲黄色精品| 国产精品免费区二区三区观看| 国产精品一区二区a| 免费视频一区二区三区在线观看| 久久久久久久尹人综合网亚洲| 噜噜噜91成人网| 久久精品主播| 狠狠入ady亚洲精品经典电影| 精品999在线观看| 中文亚洲欧美| 久久先锋资源| 亚洲国产精品日韩| 亚洲欧美成人综合| 欧美日韩喷水| 国产日韩专区| 亚洲欧美一区在线| 亚洲三级毛片| 久久国产精品免费一区| 欧美日韩精品久久| 一区二区三区四区五区精品| 欧美综合二区| 亚洲高清视频一区| 久久激情网站| 亚洲美女色禁图| 久久伊人亚洲| 日韩亚洲国产欧美| 女生裸体视频一区二区三区| 91久久亚洲| 久久综合伊人| 99精品视频免费全部在线| 久久久噜噜噜久久狠狠50岁| 亚洲精品乱码| 欧美国产视频在线观看| 99国产精品久久久久久久| 久久不射网站| 国产欧美日韩亚洲一区二区三区| 欧美精品一区二区三区在线看午夜 | 黑丝一区二区| 久久精品主播| 亚洲清纯自拍| 欧美日一区二区三区在线观看国产免| 国产亚洲综合精品| 亚洲精品欧洲精品| 黄色综合网站| 欧美日韩一区在线观看视频| 亚欧美中日韩视频| 99国产精品自拍| 激情欧美日韩一区| 欧美福利网址| 久久青青草综合| 老鸭窝91久久精品色噜噜导演| 99精品国产高清一区二区| 狠狠综合久久av一区二区老牛| 欧美在线免费| 久久综合久久综合这里只有精品| 亚洲男女自偷自拍| 国产伦精品一区二区三区视频黑人 | 久久久亚洲一区| 亚洲女同在线| 国产亚洲二区| 国产欧美日韩一区| a91a精品视频在线观看| 亚洲经典自拍| 中文久久精品| 亚洲在线观看| 久久黄色网页| 欧美精品麻豆| 欧美私人啪啪vps| 欧美午夜一区| 亚洲欧洲日本国产| 日韩一级精品| 亚洲欧美激情诱惑| 久久久水蜜桃av免费网站| 久久久久网址| 国产在线日韩| 99热精品在线观看| 国产女主播一区二区| 亚洲免费在线| 国产精品chinese| 伊人成人在线| 国产伦精品一区二区三区视频黑人| 亚洲在线网站| 欧美高清一区| 亚洲三级视频| 久久xxxx| 国产综合精品| 国产区日韩欧美| 久久久久一区| 伊人精品视频| 蜜桃视频一区| 一区二区视频在线观看| 99热精品在线观看| 欧美一区二区视频在线| 亚洲激情黄色| 久久一二三区| 99亚洲一区二区| 欧美.www| 国产三级精品在线不卡| 你懂的国产精品| 日韩一级在线| 欧美日韩三级| 亚洲一区欧美二区| 亚洲先锋成人| 欧美一区二区三区久久精品茉莉花| 国内一区二区三区| 亚洲欧美大片| 亚洲国产精品一区制服丝袜| 久久久久久穴| 国产精品日韩精品欧美精品| 黄色成人在线网站| 美女视频一区免费观看| 亚洲精品一区二区三区av| 欧美一区二区视频在线| 国产日韩1区| 在线日韩欧美| 国产一区激情| 欧美精品网站| 久久性天堂网| 鲁大师成人一区二区三区| 亚洲久久成人| 亚洲国产高清一区| 欧美视频日韩| 欧美福利在线| 久久综合中文| 麻豆成人av| 国产精品一区视频网站| 日韩视频不卡| 亚洲精选国产| 最近看过的日韩成人| 好吊日精品视频| 欧美午夜在线| 国产精品草草| 亚洲性色视频| 激情另类综合| 影音先锋在线一区| 一区免费在线| 亚洲精品国产系列| 亚洲国产激情| 一区二区三区精品国产| 亚洲欧洲日夜超级视频| 99re国产精品| 国产女优一区| 久久视频一区| 欧美日韩国产一区精品一区| 欧美深夜福利| 亚洲国产裸拍裸体视频在线观看乱了中文| 国内精品久久久久久久果冻传媒| 狠狠色噜噜狠狠色综合久| 亚洲精美视频| 亚洲一区不卡| 欧美一区二区三区久久精品| 欧美日韩精品| 99www免费人成精品| 国产精品婷婷| 午夜精彩国产免费不卡不顿大片| 欧美色图首页| 99国产精品99久久久久久粉嫩| 国产精品久久久久久久久久妞妞| 久久精品99| 精品9999| 亚洲一区影院| 欧美日韩免费观看一区=区三区 | 免费视频一区| 午夜久久资源| 91久久久一线二线三线品牌| 国产精品一区在线观看| 久久久夜精品| 亚洲性感美女99在线| 一本色道久久综合亚洲二区三区| 性色一区二区三区| 国产综合18久久久久久| 9久re热视频在线精品| 久久久蜜桃一区二区人| 亚洲福利免费| 久久国产一区二区| 亚洲人成网站在线观看播放| 久久精品女人| 亚洲精品一品区二品区三品区| 噜噜噜在线观看免费视频日韩 | 麻豆成人精品| 亚洲国产日韩在线| 久久大香伊蕉在人线观看热2| 韩国一区二区三区在线观看| 国产精品一区二区三区免费观看| 欧美在线免费| 在线一区欧美| 亚洲无毛电影| 久热精品在线| 国产一区二区三区久久久久久久久| 欧美激情1区2区| 新狼窝色av性久久久久久| 精品不卡一区二区三区| 午夜精品久久99蜜桃的功能介绍| 亚洲一区久久| 99精品欧美| 狠狠综合久久av一区二区老牛| 新67194成人永久网站| 99精品久久久| 91久久国产综合久久蜜月精品| 欧美日韩四区| 欧美一区在线看| 男人的天堂亚洲| 国产日韩高清一区二区三区在线| 亚洲国产一区二区三区在线播| 欧美日韩一区在线播放 | 一区二区三区国产在线| 欧美午夜不卡| 欧美精品一卡| 欧美粗暴jizz性欧美20| 久久福利一区| 久久国产福利| 久久久久99| 久久精品日产第一区二区三区| 亚洲主播在线| 久久国产精品亚洲77777| 翔田千里一区二区| 免费在线欧美黄色| 久久精品国产第一区二区三区最新章节| 国产精品一区免费观看| 国产伦精品一区二区三区视频黑人| 99精品视频免费全部在线| 亚洲精品看片| 国产视频在线观看一区 | 黄色亚洲在线| 亚洲国产精品一区制服丝袜| 亚洲国产黄色| 国产日韩欧美一区二区| 一本色道久久综合亚洲二区三区| 国产一区二区三区奇米久涩| 午夜在线精品| 久热综合在线亚洲精品| 久久国产手机看片| 欧美日韩高清在线一区| 国产一区二区三区自拍| 亚洲国产日韩在线| 国产亚洲精品bv在线观看| 久久99伊人| 国内成人在线| 国产偷国产偷亚洲高清97cao| 亚洲一区网站| 欧美午夜视频在线| 一区二区av| 蜜桃av久久久亚洲精品| 欧美视频官网| 一本色道久久精品| 欧美99久久| 亚洲高清不卡一区| 男女精品网站| 一区在线观看| 蜜桃久久av| 亚洲高清在线播放| 免费h精品视频在线播放| 午夜视频精品| 国产区日韩欧美| 欧美日韩在线精品| 国产精品区二区三区日本| 久久性色av| 国产日韩欧美高清免费| 久久亚洲精品欧美| 激情综合在线| 欧美成人久久| 99热免费精品在线观看| 欧美日本国产精品| 国产私拍一区| 国产在线精品一区二区中文| 国产美女诱惑一区二区| 伊人久久成人| 欧美精品97| 麻豆成人精品| 一区二区三区精品国产| 欧美日韩国产亚洲一区| 国产日韩在线一区二区三区| 国内精品久久久久久久果冻传媒 | 国产精品日韩一区二区三区| 国产自产在线视频一区| 老司机精品福利视频| 99精品国产一区二区青青牛奶| 午夜精品影院| 久久亚洲综合网| 国产亚洲成人一区| 亚洲激情不卡| 在线观看视频日韩| 国产精品啊啊啊| 欧美欧美全黄| 欧美精品一区二区视频| 久久久久综合| 可以看av的网站久久看| 亚洲一区二区高清视频| 国产亚洲一区在线| 一本一本久久| 国产欧美一区二区色老头| 亚洲人体一区| 99热免费精品在线观看| 一区久久精品| 亚洲三级色网| 一本久道久久综合狠狠爱| 日韩午夜黄色| 国产区欧美区日韩区| 中日韩视频在线观看| 国产视频久久| 久久成人资源| 欧美一区免费视频| 国产中文一区| 亚洲欧洲视频| 国产精品久久久久久久久婷婷| 国产精品免费一区二区三区观看| 国产伦理一区| 久久美女性网| 国产在线成人| 99亚洲一区二区| 另类av一区二区| 欧美日韩精品免费观看视频完整| 欧美午夜不卡影院在线观看完整版免费 | 免费精品视频| 欧美二区不卡| 亚洲午夜激情在线| 99国产精品自拍| 久久久99国产精品免费| 国产精品av久久久久久麻豆网| 亚洲日韩视频| 久久中文在线| 亚洲电影在线| 久久久久高清| 亚洲国产免费看| 母乳一区在线观看| 黑人中文字幕一区二区三区 | 亚洲特级毛片| 国产精品午夜av在线| 久久亚洲午夜电影| 亚洲人成免费| 老牛影视一区二区三区| 激情91久久| 午夜影院日韩| 伊人久久综合| 久久免费一区| 国产日韩欧美精品| 国产精品观看| 久久福利电影| 日韩视频三区| 欧美日韩一区在线视频| 亚洲一区高清| 亚洲乱码视频| 欧美日韩国产探花|