Maison développement back-end tutoriel php Comment utiliser PHP et Vue pour implémenter la fonction de code de vérification SMS

Comment utiliser PHP et Vue pour implémenter la fonction de code de vérification SMS

Sep 25, 2023 am 10:16 AM
php vue 短信验证码

Comment utiliser PHP et Vue pour implémenter la fonction de code de vérification SMS

Comment utiliser PHP et Vue pour implémenter la fonction de code de vérification SMS

Avec la popularité d'Internet et la popularité des appareils mobiles, les codes de vérification SMS sont devenus une méthode de vérification courante pour de nombreux sites Web et applications. La fonction de code de vérification SMS peut être facilement implémentée à l'aide de PHP et Vue. Cet article présentera les étapes de mise en œuvre en détail et fournira des exemples de code spécifiques.

1. Préparation

  1. Un environnement serveur prenant en charge PHP, tel qu'Apache, Nginx, etc.
  2. Le framework Vue.js et la bibliothèque axios peuvent être introduits via CDN.
  3. Une interface de code de vérification SMS, telle que l'interface SMS Alibaba Cloud ou l'interface SMS Tencent Cloud.

2. Implémentation du code back-end

  1. Créez un fichier PHP pour la génération du code de vérification, tel que verify_code.php, et écrivez le code suivant dans le fichier :
<?php
session_start();

// 生成随机的验证码
$verify_code = mt_rand(100000, 999999);

// 将验证码存入session中
$_SESSION['verify_code'] = $verify_code;

// 返回验证码结果
echo json_encode(['code' => $verify_code]);
?>
Copier après la connexion
  1. Créez un fichier PHP pour l'envoi de messages texte , tel que send_sms.php, et écrivez le code suivant dans le fichier :
<?php
session_start();

// 获取手机号码
$phone_number = $_POST['phone_number'];

// 获取之前生成的验证码
$verify_code = $_SESSION['verify_code'];

// 调用短信接口发送短信验证码
// 代码略,根据实际短信接口文档编写发送短信的代码

// 返回发送结果
echo json_encode(['success' => true]);
?>
Copier après la connexion

3. Implémentation du code frontal

  1. Introduisez les bibliothèques Vue.js et axios dans le fichier HTML, telles que :
<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>
Copier après la connexion
  1. Créez une instance Vue et définissez les données et méthodes associées, telles que :
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);
        });
    }
  }
});
Copier après la connexion
  1. Ajoutez des formulaires et des boutons associés dans le fichier HTML, ainsi que la logique associée à l'instance Vue, telles que :
<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>
Copier après la connexion

4. Analyse du code

  1. Partie code back-end :
  2. Le fichier verify_code.php utilise session_start() pour ouvrir la session et génère un code de vérification aléatoire à six chiffres via le mt_rand(100000, 999999 ) fonction. session_start()开启了会话,并通过mt_rand(100000, 999999)函数生成一个六位数的随机验证码。
  3. 然后将验证码存入$_SESSION数组中,方便之后的短信发送接口使用。
  4. 最后通过echo输出验证码。
  • send_sms.php文件中获取前端传递的手机号码和之前存储的验证码。
  • 调用短信接口发送验证码短信,这部分需要根据实际情况调用相应的短信接口。
  • 最后通过echo输出发送结果。
  1. 前端代码部分:
  2. 在Vue实例中定义了phoneNumber(手机号码)、verifyCode(验证码)和serverUrl(短信发送接口的URL)等数据。
  3. generateVerifyCode方法发送请求给verify_code.php接口,获取并存储验证码。
  4. sendSmsCode方法发送请求给send_sms.php接口,将手机号码和验证码作为POST参数发送给后端。
  5. HTML部分:
  6. 将各表单控件与Vue实例的数据通过v-model双向绑定。
  7. "获取验证码"按钮触发generateVerifyCode方法,显示验证码。
  8. "发送验证码"按钮触发sendSmsCode
  9. Stockez ensuite le code de vérification dans le tableau $_SESSION pour faciliter l'utilisation ultérieure de l'interface d'envoi de SMS.

Enfin, affichez le code de vérification via echo.

🎜
    🎜Obtenez le numéro de téléphone mobile transmis par le front-end et le code de vérification précédemment stocké à partir du fichier send_sms.php. 🎜🎜Appelez l'interface SMS pour envoyer le code de vérification SMS. Cette partie doit appeler l'interface SMS correspondante en fonction de la situation réelle. 🎜🎜Enfin, envoyez le résultat via la sortie echo. 🎜
🎜🎜Partie du code frontal : 🎜🎜définissez phoneNumber (numéro de téléphone portable), verifyCode (code de vérification) et serverUrl (URL de l'interface d'envoi de SMS) et autres données. 🎜🎜La méthode <code>generateVerifyCode envoie une requête à l'interface verify_code.php pour obtenir et stocker le code de vérification. 🎜🎜La méthode sendSmsCode envoie une requête à l'interface send_sms.php et envoie le numéro de téléphone mobile et le code de vérification au backend en tant que paramètres POST. 🎜🎜Partie HTML : 🎜🎜Liez les données de chaque contrôle de formulaire et l'instance Vue via v-model dans deux directions. 🎜🎜Le bouton « Obtenir le code de vérification » déclenche la méthode generateVerifyCode et affiche le code de vérification. 🎜🎜Le bouton « Envoyer le code de vérification » déclenche la méthode sendSmsCode pour envoyer le numéro de téléphone mobile et le code de vérification au backend. 🎜🎜🎜Grâce aux étapes et au code ci-dessus, nous avons implémenté la fonction de code de vérification SMS en utilisant PHP et Vue. Dans les applications réelles, l'authentification d'interface correspondante, la gestion des erreurs, etc. doivent être traitées en fonction de besoins spécifiques. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

L'avenir de PHP: adaptations et innovations L'avenir de PHP: adaptations et innovations Apr 11, 2025 am 12:01 AM

L'avenir de PHP sera réalisé en s'adaptant aux nouvelles tendances technologiques et en introduisant des fonctionnalités innovantes: 1) s'adapter aux architectures de cloud computing, de conteneurisation et de microservice, en prenant en charge Docker et Kubernetes; 2) introduire des compilateurs JIT et des types d'énumération pour améliorer l'efficacité des performances et du traitement des données; 3) Optimiser en continu les performances et promouvoir les meilleures pratiques.

Comment passer les paramètres pour la fonction Vue Comment passer les paramètres pour la fonction Vue Apr 08, 2025 am 07:36 AM

Il existe deux façons principales de transmettre des paramètres aux fonctions Vue.js: passer des données à l'aide de machines à sous ou lier une fonction avec Bind, et fournir des paramètres: passer des paramètres à l'aide de slots: passer des données dans des modèles de composants, accessibles dans les composants et utilisé comme paramètres de la fonction. PASS Paramètres à l'aide de Bind Binding: Bind Fonction dans l'instance Vue.js et fournissez des paramètres de fonction.

PHP vs Python: comprendre les différences PHP vs Python: comprendre les différences Apr 11, 2025 am 12:15 AM

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

Comment sauter une balise à Vue Comment sauter une balise à Vue Apr 08, 2025 am 09:24 AM

Les méthodes pour implémenter le saut d'une balise dans Vue incluent: l'utilisation de la balise A dans le modèle HTML pour spécifier l'attribut HREF. Utilisez le composant routeur-link du routage Vue. Utilisez cette méthode. $ Router.push () dans JavaScript. Les paramètres peuvent être passés à travers le paramètre de requête et les itinéraires sont configurés dans les options de routeur pour les sauts dynamiques.

Statut actuel de PHP: un regard sur les tendances de développement Web Statut actuel de PHP: un regard sur les tendances de développement Web Apr 13, 2025 am 12:20 AM

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Comment sauter à la div de Vue Comment sauter à la div de Vue Apr 08, 2025 am 09:18 AM

Il existe deux façons de sauter des éléments div dans Vue: Utilisez le routeur Vue et ajoutez le composant routeur-link. Ajoutez l'écouteur de l'événement @Click et appelez ceci. $ Router.push () pour sauter.

See all articles