精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站


待發短信

在線客服
產品支持 短信寶客服
合作渠道 渠道合作
服務咨詢

4001-021-502

工作時間

9:00-21:00

短信寶短信驗證碼開發教程 – 2.準備篇

現在跟著我一起來做短信驗證碼開發前的準備工作,工作需要完成以下幾點:定義目錄結構。使用html+css對案例的頁面進行布局。創建配置文件。編寫開發中的幫助文件和數據驗證文件。好了,開工?。?/p>

目錄結構定義工作:

先創建目錄,需要一個項目目錄,配置文件目錄,js文件目錄,字體文件目錄,工具文件目錄。定義完成的目錄結構如下:

sms — 項目目錄

sms/config — 配置文件目錄

sms/js — javascript文件目錄

sms/font — 字體文件目錄

sms/tool — 工具文件目錄

使用html+css對案例的頁面進行布局:

在項目目錄sms下創建register.php文件,用于模擬用戶注冊的界面。其代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {margin:0; padding:0;}
            h1 {margin:30px 0 25px 0;}
            .form-input {margin-bottom:10px;}
            .form-input input {width:200px; height:25px;}
            .form-input button {width:60px; height:25px;}
            #main {width:500px; margin:0 auto;}
            #vcode {width:80px;}
 
            #phone_code {width:80px;}
            .code_label {position:relative;}
            .code_label img {position:absolute; top:-5px; left:185px; cursor: pointer;}
            .code_label button {width:90px; cursor: pointer;}
        </style>
        <script src="js/jquery.js"></script>
    </head>
    <body>
        <div id="main">
            <h1>用戶注冊</h1>
            <form method="post" action="register.php">
                <div class="form-input">
                    <label>
                        手機號碼&emsp;
                        <input type="text" name="phone" value=""/>
                        <p id="phone_err" class="errmsg" style="margin:5px 0 0 88px; color:red;"></p>
                    </label>
                </div>
                <div class="form-input">
                    <label>
                        密&emsp;&emsp;碼&emsp;
                        <input type="password" name="password" value=""/>
                        <p id="phone_err" class="errmsg" style="margin:5px 0 0 88px; color:red;"></p>
                    </label>
                </div>
                <div class="form-input">
                    <label>
                        確認密碼&emsp;
                        <input type="password" name="repassword" value=""/>
                    </label>
                </div>
                <div class="form-input">
                    <label class="code_label">
                        驗&ensp;證&ensp;碼&emsp;
                        <input id="vcode" type="text" name="vcode" value=""/>
                        <img id="code_img" src=""/>
                        <p id="code_err" class="errmsg" style="margin:5px 0 0 88px; color:red;"></p>
                    </label>
                </div>
                <div class="form-input">
                    <label class="code_label">
                        手機驗證碼
                        <input id="phone_code" type="text" name="code" value=""/>
                        <button type="button" id="get_code">獲取驗證碼</button>
                        <p id="phone_err" class="errmsg" style="margin:5px 0 0 88px; color:red;"></p>
                    </label>
                </div>
                <input type="hidden" name="is_send" value="1"/>
                <div class="form-input">
                    <label>
                        <button type="submit">提 交</button>
                    </label>
                </div>
            </form>
        </div>
    </body>
</html>

js文件和字體文件: 在sms/js目錄中添加jquery庫文件在sms/font目錄中添加consola.ttf字體文件。這2個文件在我代碼案例中已經提供,可以拿來直接使用。也可以到網上去下載。

配置文件的使用: 在sms/config目錄下創建config.php這個配置文件,并且在文件中配置自己的短信接口賬號和密碼,在案例中使用的是短信寶的接口,所以直接配置短信寶的賬號密碼就好了。 如果沒有短信寶的賬號和面,可以去他們的官網注冊一個,注冊還免費送短信哦。配置的代碼如下:

?
1
2
3
4
5
<?php
return array(
    'smsbao_name' => '您的短信寶賬號',
    'smsbao_password' => '您的短信寶密碼'
);

工具文件創建: 這里我們需要創建1個工具文件,用于驗證填寫的模擬注冊信息是否正確的。 在sms/tool目錄下創建CheckTool.php 用于負責數據驗證,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<?php
class CheckTool
{
    /**
     * @var array 錯誤提示代碼
     */
    private static $errArr array(
        0 => '用戶名不得為空',
        1 => '密碼不能為空',
        2 => '2次輸入的密碼不一致',
        3 => '手機驗證碼不正確',
        4 => '驗證碼不得為空',
        5 => '驗證碼填寫不正確',
        6 => '手機號碼格式不正確',
        7 => '手機號碼必須填寫',
        8 => '請先獲取短信驗證碼',
        9 => '短信驗證碼不正確',
        10 => '密碼不得少于6位數',
        11 => '驗證的手機號碼和當前的手機號碼不一致'
    );
 
    /**
     * 數據執行驗證的總接口
     * @param $data
     * @return bool
     */
    public static function exec($data)
    {
        $errType['phone'] = self::checkPhone($data['phone']);
        $errType['password'] = self::checkPassword($data['password'], $data['repassword']);
        $errType['code'] = self::checkSmsCode($data['code']);
 
        return self::checkErr($errType);
    }
 
    /**
     * 返回錯誤碼,如果驗證沒有錯誤,則返回true
     * @param $errorData
     * @return bool
     */
    public static function checkErr($errorData)
    {
        $cnt count($errorData);
        $postOk = 0;
 
        foreach ($errorData as $key => $item) {
            if (true === $item) {
                $errorData[$key] = '';
                ++$postOk;
            }
        }
 
        return $cnt == $postOk ? true : $errorData;
    }
 
    /**
     * 驗證短信發送的驗證碼是否正確
     * @param $code
     * @return bool|mixed
     */
    public static function checkSmsCode($code)
    {
        if (!isset($_SESSION['sms_code']) || empty($_SESSION['sms_code'])) {
            return self::$errArr[8];
        }
 
        if (0 !== strcmp($_SESSION['sms_code'], $code)) {
            return self::$errArr[9];
        }
 
        return true;
    }
 
    /**
     * 驗證密碼的正確性,以及2次輸入是否一致。
     * @param $password
     * @param $repassword
     * @return bool|mixed
     */
    public static function checkPassword($password$repassword)
    {
        if (empty($password)) {
            return self::$errArr[1];
        }
 
        if (!is_string($password) || strlen($password) < 6) {
            return self::$errArr[10];
        }
 
        if (0 !== strcmp($password$repassword)) {
            return self::$errArr[2];
        }
 
        return true;
    }
 
    /**
     * 驗證用戶名
     * @param $name
     * @return bool|mixed
     */
    public static function checkName($name)
    {
        if (empty($name)) {
            return self::$errArr[0];
        }
 
        return true;
    }
 
 
    /**
     * 驗證碼的驗證
     * @param $code
     * @return bool|mixed
     */
    public static function checkCode($code)
    {
        if (empty($code)) {
            return self::$errArr[4];
        }
 
        session_start();
        $code strtolower($code);
        $sessionCode strtolower($_SESSION['code']);
 
        if (0 !== strcmp($code$sessionCode)) {
            return self::$errArr[5];
        }
 
        return true;
    }
 
    /**
     * 手機號碼驗證規則
     * @param $phone
     * @return bool|mixed
     */
    public static function checkPhone($phone)
    {
        if (empty($phone)) {
            return self::$errArr[7];
        }
 
        $isOk = preg_match('/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/'$phone);
 
        if (!$isOk) {
            return self::$errArr[6];
        }
 
        if (isset($_SESSION['send_phone'])) {
            if (0 !== strcmp($_SESSION['send_phone'], $phone)) {
                return self::$errArr[11];
            }
        }
 
        return true;
    }
}

	準備工作完成,后面的文章帶大家進入正式開發階段。
開源插件

最新更新

電商類

CMS類

微信類

文章標簽
精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站
欧洲激情综合| 欧美激情福利| 播放一区二区| 在线一区av| 亚洲成人二区| 亚洲欧洲一区二区天堂久久| 亚洲欧美久久久| 中文字幕一区日韩精品| 日韩av中文字幕一区| 国产精品网站在线看| 精品国产99| 欧美好骚综合网| 精品国产午夜肉伦伦影院| 国产a亚洲精品| 亚洲风情在线资源| 亚洲精品一区二区在线看| 久久最新视频| 日韩av黄色在线| 国产精品亚洲欧美一级在线| 精品国产一级| 欧美日韩国产高清电影| 亚洲色图综合| 国产精品一区二区中文字幕| 福利片在线一区二区| 久久一级电影| 亚洲精品美女91| 久久精品欧洲| 日韩在线观看一区| 99精品99| 国产毛片精品| 亚洲成人av观看| 亚洲婷婷丁香| 免费在线亚洲欧美| 国产综合婷婷| 欧美在线首页| 天堂√中文最新版在线| 日韩午夜一区| 国产日韩三级| 99精品在线观看| 91伊人久久| 999久久久91| 日韩av电影一区| 日韩1区2区| 久久精品动漫| 欧美成人一二区| 青青久久av| 久久精品人人| 成人小电影网站| 麻豆91在线播放| 日产欧产美韩系列久久99| 国产精品免费不| 精品一区二区三区视频在线播放| 色偷偷色偷偷色偷偷在线视频| 亚洲人成网站在线在线观看| 制服诱惑一区二区| 91精品亚洲| 亚洲青青久久| 日韩影片在线观看| 日韩精品欧美精品| 中文在线日韩| 午夜在线一区| 亚洲一区二区三区四区五区午夜| 国精品产品一区| 鲁大师精品99久久久| 国产精选久久| 国产精品一区三区在线观看| 日本亚洲欧美天堂免费| 久久国产88| 婷婷丁香综合| 一区在线免费观看| 久久亚洲风情| 亚洲三级av| 中文字幕亚洲精品乱码| 一本一道久久a久久| 男女性色大片免费观看一区二区 | 国产九一精品| 国产精品久久久久久久久久白浆 | 99视频精品全部免费在线视频| 国产精品白丝av嫩草影院| 久久久夜夜夜| 日韩一区网站| 亲子伦视频一区二区三区| 国产欧美日韩| 日韩在线观看| 91精品美女| 亚洲高清不卡| 岛国av在线播放| 丝袜诱惑制服诱惑色一区在线观看| 日韩激情av在线| 日韩欧美中文| 国产精品免费99久久久| 午夜久久中文| 亚洲精品少妇| 日韩欧美国产精品综合嫩v| 日韩中文字幕区一区有砖一区 | 日本精品久久| 久久久噜噜噜| 美日韩一区二区三区| 亚洲欧洲午夜| 蜜臀久久久久久久| 亚洲激精日韩激精欧美精品| 久久99视频| 羞羞答答国产精品www一本| 免费一级欧美片在线观看网站| 国产精品毛片一区二区三区| 国产一区二区三区久久久久久久久| 午夜视频一区二区在线观看| 午夜一区在线| 亚洲精品人人| 精品国产网站| 欧美日韩水蜜桃| 91精品观看| 少妇精品在线| 欧美有码在线| 日韩在线a电影| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲一区二区三区高清| 少妇久久久久| 欧美gv在线| 亚洲一区欧美二区| 综合在线一区| 少妇高潮一区二区三区99| 日产欧产美韩系列久久99| 国产精品天堂蜜av在线播放| 亚洲一级黄色| 在线视频免费在线观看一区二区| 免费欧美一区| 天堂成人免费av电影一区 | 亚洲一区二区三区无吗| 99riav国产精品| 激情自拍一区| 欧美成人日韩| 野花国产精品入口| 影院欧美亚洲| 日韩综合小视频| 国产精品一区二区99| 免费看久久久| 久久久精品久久久久久96| 久久九九国产| 日韩在线黄色| 另类小说一区二区三区| 97在线精品| 午夜欧美视频| 日韩国产在线观看| 日韩成人免费| 久久激情一区| 亚洲激情中文| 国产精品夜夜夜| 欧美丝袜一区| 日本不卡视频一二三区| 成人污污视频| 亚洲在线久久| 樱桃视频成人在线观看| 国产一区二区精品| 久久亚洲资源中文字| 99视频+国产日韩欧美| 国产精品男女| 国产在线欧美| 国产精品久一| 免费在线亚洲| www在线观看黄色| 亚洲欧洲一区二区天堂久久| 中文字幕中文字幕精品| 欧美成a人片免费观看久久五月天| 麻豆国产91在线播放| 97精品国产一区二区三区| 国产农村妇女精品一二区| 欧美日本三区| 久久gogo国模啪啪裸体| 天堂中文av在线资源库| 日韩和欧美一区二区| 国产资源在线观看入口av| 99国产精品久久久久久久成人热| 黄色成人在线网址| 国产毛片久久| 日本视频一区二区| 久久国内精品| 久久精品青草| 青草国产精品久久久久久| 国产一区二区三区网| 国产精品探花在线观看| 热久久久久久久| 日韩中文字幕高清在线观看| 日本亚洲欧洲无免费码在线| 天堂资源在线亚洲| 欧美日韩国产探花| 精品一区二区三区中文字幕在线| 亚洲精品伊人| 亚洲三级观看| 亚洲丝袜美腿一区| 久久av影院| 欧美日韩在线播放视频| 精品不卡一区| 欧美一区免费| 蜜桃av一区二区三区电影| 欧美不卡在线| 亚洲毛片在线免费| 日韩精品欧美大片| 综合五月婷婷| 欧美激情日韩|