如何使用PHP和Vue實現簡訊驗證碼功能
隨著網路的普及和行動裝置的普及,簡訊驗證碼成為了許多網站和APP的常用驗證方式。使用PHP和Vue可以很簡單地實作簡訊驗證碼功能,本文將詳細介紹實作的步驟,並提供具體的程式碼範例。
一、前期準備
二、後端程式碼實作
<?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]); ?>
三、前端程式碼實作
<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陣列中,方便之後的簡訊傳送介面使用。
最後透過
echo
send_sms.php檔案中取得前端傳遞的手機號碼和先前儲存的驗證碼。
最後透過
echo輸出發送結果。
在Vue實例中定義了
phoneNumber(驗證碼)和
serverUrl
generateVerifyCode接口,取得並儲存驗證碼。
######sendSmsCode###方法傳送請求給###send_sms.php###接口,將手機號碼和驗證碼作為POST參數傳送給後端。 ######HTML部分:######將各表單控制項與Vue實例的資料經由###v-model###雙向綁定。 ######"取得驗證碼"按鈕觸發###generateVerifyCode###方法,顯示驗證碼。 ######"發送驗證碼"按鈕觸發###sendSmsCode###方法,將手機號碼和驗證碼傳送給後端。 #########透過上述步驟和程式碼,我們就實作了使用PHP和Vue實作簡訊驗證碼功能。在實際應用中,也需要根據具體需求進行對應的介面鑑權、錯誤處理等的處理。 ###以上是如何使用PHP和Vue實作簡訊驗證碼功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!