Cara menggunakan PHP dan Vue untuk melaksanakan fungsi kod pengesahan SMS
Dengan populariti Internet dan populariti peranti mudah alih, kod pengesahan SMS telah menjadi kaedah pengesahan biasa untuk banyak tapak web dan APP. Fungsi kod pengesahan SMS boleh dilaksanakan dengan mudah menggunakan PHP dan Vue Artikel ini akan memperkenalkan langkah pelaksanaan secara terperinci dan memberikan contoh kod khusus.
1. Persediaan
2. Pelaksanaan kod back-end
<?php session_start(); // 生成随机的验证码 $verify_code = mt_rand(100000, 999999); // 将验证码存入session中 $_SESSION['verify_code'] = $verify_code; // 返回验证码结果 echo json_encode(['code' => $verify_code]); ?>
<?php session_start(); // 获取手机号码 $phone_number = $_POST['phone_number']; // 获取之前生成的验证码 $verify_code = $_SESSION['verify_code']; // 调用短信接口发送短信验证码 // 代码略,根据实际短信接口文档编写发送短信的代码 // 返回发送结果 echo json_encode(['success' => true]); ?>
3. Pelaksanaan kod bahagian hadapan
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js"></script>
new Vue({ el: '#app', data: { phoneNumber: '', verifyCode: '', serverUrl: '/send_sms.php' }, methods: { // 生成验证码 generateVerifyCode: function() { axios.get('/verify_code.php') .then(function(response) { this.verifyCode = response.data.code; }.bind(this)) .catch(function(error) { console.log(error); }); }, // 发送短信验证码 sendSmsCode: function() { axios.post(this.serverUrl, { phone_number: this.phoneNumber }) .then(function(response) { console.log(response.data); }) .catch(function(error) { console.log(error); }); } } });
<div id="app"> <form> <div class="form-group"> <label for="phone">手机号码</label> <input type="text" class="form-control" id="phone" v-model="phoneNumber"> </div> <div class="form-group"> <label for="code">验证码</label> <input type="text" class="form-control" id="code" v-model="verifyCode"> <button type="button" class="btn btn-primary" @click="generateVerifyCode">获取验证码</button> </div> <button type="button" class="btn btn-primary" @click="sendSmsCode">发送验证码</button> </form> </div>
session_start()
untuk membuka sesi dan menjana kod pengesahan rawak enam digit melalui mt_rand(100000, 999999 )
fungsi. session_start()
开启了会话,并通过mt_rand(100000, 999999)
函数生成一个六位数的随机验证码。$_SESSION
数组中,方便之后的短信发送接口使用。echo
输出验证码。echo
输出发送结果。phoneNumber
(手机号码)、verifyCode
(验证码)和serverUrl
(短信发送接口的URL)等数据。generateVerifyCode
方法发送请求给verify_code.php
接口,获取并存储验证码。sendSmsCode
方法发送请求给send_sms.php
接口,将手机号码和验证码作为POST参数发送给后端。v-model
双向绑定。generateVerifyCode
方法,显示验证码。sendSmsCode
Kemudian simpan kod pengesahan dalam tatasusunan $_SESSION
untuk memudahkan penggunaan seterusnya antara muka penghantaran SMS. echo
.
echo
. 🎜verifyCode
(kod pengesahan) dan serverUrl (URL antara muka penghantaran SMS) dan data lain. 🎜🎜Kaedah <code>generateVerifyCode
menghantar permintaan ke antara muka verify_code.php
untuk mendapatkan dan menyimpan kod pengesahan. 🎜🎜Kaedah sendSmsCode
menghantar permintaan ke antara muka send_sms.php
dan menghantar nombor telefon mudah alih dan kod pengesahan ke bahagian belakang sebagai parameter POST. 🎜🎜Bahagian HTML: 🎜🎜Ikat data setiap kawalan borang dan tika Vue melalui generateVerifyCode
dan memaparkan kod pengesahan. 🎜🎜Butang "Hantar Kod Pengesahan" mencetuskan kaedah Atas ialah kandungan terperinci Cara menggunakan PHP dan Vue untuk melaksanakan fungsi kod pengesahan SMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!