1. 程式人生 > >ajax + 簡訊寶 實現手機驗證碼

ajax + 簡訊寶 實現手機驗證碼

最近在開發一個登入模組,需要用到簡訊驗證碼功能,由於技術有限,簡單做了一個比較粗糙的,寫下來備忘。需要用到:Jq-ajax、php、簡訊寶

HTML部分:

<div class="login">
    <div class="login-head">
        <p>註冊使用者</p>
        <p>成為IM的使用者</p>
    </div>
    <div class="login-main">
        <p class="log-err">&nbsp;</p
>
<input type="text" name="user_name" placeholder="使用者名稱" autocomplete="off" /> <input type="password" name="user_pass" placeholder="密碼" autocomplete="off" /> <!--<input type="text" name="user_mail" placeholder="郵箱 (選填)" autocomplete="off" />--> <input
type="text" name="user_tel" placeholder="手機" autocomplete="off" class="vcode" />
<button class="getcode">獲取驗證碼</button> <input type="text" placeholder="簡訊驗證碼" autocomplete="off" /> <button class="submit">註冊</button> </div> <div class
="login-qrcode">
<img src="../img/qrcode.png" /> </div> <div class="login-link"> <a href="../login/">登入賬戶</a> <a href="">使用者協議</a> </div> </div>

向伺服器傳送驗證碼:

$(".getcode").click(function(){
    var _input = $(".login-main").find("input");
    if(_input.eq(2).val() == ''){
        $(".log-err").text("請輸入手機號碼");
        return false;
    }else{
        var tel_num = _input.eq(2).val();
        show_num = Math.round(Math.random()*1000000);
        while(show_num < 99999){
            show_num = Math.round(Math.random()*1000000);
        }
        $.ajax({
            type: "post",
            url: "sendmsg.php",
            data: "tel_num=" + tel_num + "&" + "show_num=" + show_num,
            beforeSend: function(){
                $(".getcode").text("正在傳送...");
            },
            success: function(data){ //ajax執行成功回撥函式,判斷髮送驗證碼是否成功
                if(data){
                    $(".getcode").text("驗證碼已傳送");
                }else{
                    $(".getcode").text("驗證碼傳送失敗");
                }
            }
        });
    }
})

簡訊寶API:

<?php
    $statusStr = array(
    "0" => "傳送成功",
    "-1" => "傳送失敗"
    );
    $smsapi = "http://api.smsbao.com/";
    $user = "*你的賬號***"; //簡訊平臺帳號
    $pass = md5("你的密碼 MD5加密"); //簡訊平臺密碼
    $content="【IM】歡迎您的註冊,您的驗證碼是".$_POST['show_num'];//要傳送的簡訊內容
    $phone = $_POST['tel_num'];//要傳送簡訊的手機號碼
    $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);
    $result =file_get_contents($sendurl) ;
    echo $statusStr[$result];
?>

簡訊寶API詳細文件:簡訊寶API

客戶端驗證:

$(".submit").click(function(){
$(".log-err").text("");
    var _input = $(".login-main").find("input");
    var vcode_num = $(".show-vcode").text();
    if(_input.eq(0).val() == ''){
        $(".log-err").text("請輸入使用者名稱");
        return false;
    }else if(_input.eq(1).val() == ''){
        $(".log-err").text("請輸入密碼");
        return false;
    }else if(_input.eq(2).val() == ''){
        $(".log-err").text("請輸入手機號碼");
        return false;
    }else if(_input.eq(3).val() == ''){
        $(".log-err").text("請輸入驗證碼");
        return false;
    }else{
        if(_input.eq(3).val() != show_num){
            $(".log-err").text("驗證碼錯誤");
            return false;
        }else{
            var username = _input.eq(0).val();
            var userpass = _input.eq(1).val();
            var usertel = _input.eq(2).val();
            $.ajax({
            type: "post",
            url: "reg.php",
            data: "au_name=" + username + "&au_pass=" + userpass + "&au_tel=" + usertel,
            beforeSend: function(){
                $(".submit").text("正在註冊...");
            },
            success: function(data){ //ajax執行成功回撥函式,判斷是否登陸成功
                if(data){
                    alert("註冊成功");
                    window.location.href = "../login/";
                }else{
                    alert("註冊失敗");
                    window.location.href = "index.php";
                }
            }
        });
        }

    }
})

驗證通過註冊使用者:

<?php
    $au_name = $_POST['au_name'];
    $au_pass = $_POST['au_pass'];
    $au_tel = $_POST['au_tel'];
    include '../inc/mysqli.php';
    $sql = "INSERT INTO im_au (au_name,au_pass,au_tel) VALUES ('$au_name','$au_pass','$au_tel')";
    $res = $mysqli -> query($sql);
    $res_sel = $mysqli -> query("SELECT * FROM im_au where au_name = '$au_name' and au_pass = '$au_pass'");
    $row = $res_sel -> fetch_array();
    if($row){
        echo true;
    }else{
        echo false;
    }
    mysqli_close($mysqli);
?>

相關推薦

ajax + 簡訊 實現手機驗證

最近在開發一個登入模組,需要用到簡訊驗證碼功能,由於技術有限,簡單做了一個比較粗糙的,寫下來備忘。需要用到:Jq-ajax、php、簡訊寶 HTML部分: <div class="login"> <div class="logi

java實現手機驗證功能

java實現給手機發送驗證碼,是需要平臺的支援的這裡我使用的是http://user.ihuyi.com/互億的簡訊服務 大家可以註冊一個賬號http://user.ihuyi.com/register.htmls這裡是比較簡單的實現大家可以根據自己的需求自行編寫 import org.a

原生 JS 實現手機驗證倒計時

可以使用 pointer-events 來阻止元素成為滑鼠事件的 target。html5 新增操作元素 class 類名的方式 classList。 classList 方法 add(value):在元素中新增一個或多個類名。如果值已經存在,就不添加了。 contains(value): 返回

js實現手機驗證傳送

1.通過ajax手機驗證碼傳送例項 2.為了方便用了jquery需要測試時請先匯入jquery包 html部分程式碼 <!DOCTYPE html> <html lang="en"> <head> <meta charset="

《在網頁中實現手機驗證登陸程式碼》

JavaScript程式碼如下: // 0 入口函式 $(function(){ // 1、點選獲取驗證碼,請求介面,發給使用者驗證碼 $('#getNum').on('click',function(){ // 2、獲取使用者的手機號 var phoneNu

js實現手機驗證傳送倒計時60秒無視頁面重新整理

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@ page isELIgnored="false"%> <!doc

java調介面實現傳送手機簡訊驗證功能,手機驗證,介面呼叫

近來由於專案需要,需要用到手機簡訊驗證碼的功能,其中最主要的是用到了第三方提供的簡訊平臺介面WebService客戶端介面,下面我把我在專案中用到的記錄一下,以便給大家提供個思路,由於本人的文采有限,還請大家見諒! 一:首先上幾張案例截圖,以便大家可以瞭

c#實現傳送手機驗證

【.aspx.cs】 string shouji = ""; string templateid = "181ed0353b8341808620a1ed871793b5"; shouji = gelian.Value.Trim(); string yzm = IdentifyingCode.GenCod

ajax接收手機驗證,倒計時60秒,並進行驗證判斷

register.html: <input type="text" placeholder="請輸入手機號" class="inp" name="uphone" id="uphone" style="width: 50%;"> <input type="button" n

ajax提交表單資訊+手機驗證註冊

1.手機驗證碼用的是秒嘀科技的手機簡訊功能。 2、前端頁面 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <

【MarketAnalysis總結】6.0利用SMS的API實現傳送手機驗證

本專案的需求之一是對每一個下載的檔案,都進行了加密處理,故而產生另一個需求是要將使用者下載的檔案的密碼傳送到使用者的手機上。這裡的實現我採用了中國網建網SMS的一個API介面,下面來說明如何實現,其實很簡單~。傳送簡訊的流程圖如圖6.1,圖6.1 傳送簡訊的實現流程圖主要過程

註冊/找回密碼等功能中傳送手機驗證後倒計時效果的實現(基於vue)

註冊/找回密碼等功能中傳送手機驗證碼後倒計時效果的實現,基於vue、element-ui<template> <el-button size="small" type="prima

單realm實現shiro手機驗證登入

上一篇文章寫的是shiro實現手機驗證碼登入:http://blog.csdn.net/modjie/article/details/79221774    用了多realm的方式,需要自定義token等多個類,實現過程複雜,並且還存在一個問題:密碼錯誤異常UnknownA

Java手機驗證實現

接入手機驗證碼的實現需要第三方平臺提供的介面 這裡我使用的是 美聖 的,這種平臺有很多,大家自行選擇,比如網易雲,容聯等等,都有免費的簡訊數量以供測試,介面不一樣,實現的方式大同小異 下面是我實現的程式碼片,供參考 這是一個測試類 基於http

thinkphp實現傳送手機驗證功能!

     php實現傳送手機驗證碼功能如下: //傳送手機驗證碼 public function sendPhoneCodeMessage(){ vendor('SendPhoneCode.SendCode','','.php

js獲取手機驗證倒計時的實現

<div class="div user-input"> <input type="number" class="code" name="verify" placeholder="請輸入手機驗證碼" required maxlength="6"> <input t

Python3版本Django實現免費手機驗證註冊

Demo程式碼已放上GitHub,實現登入簡訊校驗+極驗驗證 開啟網站互億無線註冊一個賬號,有50條免費簡訊 登入進去後會有以下頁面 使用圖中的APIID和APIKEY開啟你的免費手機

java實現傳送手機驗證功能

2. 註冊好之後,點選 使用者中心 -> 賬戶管理,就會進入如下介面 (順便提一下,新註冊的使用者,平臺會免費贈送你10元,足夠大家學習和使用了,所以不用擔心需要充錢)  你需要做的就是獲取你自己的 ACCOUNT SID 和 AUTH TOKEN 3. 需要

使用者登入,實現傳送手機驗證

傳送手機驗證碼,要求具有如下功能需求、業務邏輯: (1)、使用者輸入手機號,當輸入的手機號碼為空時,提示,並且要求使用者輸入手機號; (2)、傳送手機號碼後,button按鈕,自動變為不可點選,然後60秒倒計時; (3)、後臺成功傳送驗證碼給手機;    (4)、使用者輸入

臭名昭著的手機驗證功能是如何實現

前言 現在基本上各種手機APP註冊都會用到手機驗證碼,包括一些PC端網站也會使用手機號作為唯一標識驗證! 恰巧,小明的老闆,讓其開發一個使用者註冊的功能,並且強制使用者註冊繫結手機,美其名曰為了提升安全性,呵呵噠,就是為了多擼一點使用者資訊。 案例 一般來說,傳送手機驗證碼不能過於頻繁,前端傳送按鈕點選後