Bibliothèque de codes de vérification Laravel

韦小宝
Libérer: 2023-03-17 16:26:02
original
1454 Les gens l'ont consulté

Il existe de nombreuses bibliothèques d'images codes de vérification disponibles dans Laravel Cet article présente l'une d'entre elles Laravel : gregwar/captcha. , plus couramment utilisé dans Laravel. Présentons les détails d'utilisation ci-dessous :

Tout d'abord, ajoutez la configuration suivante à composer.json :

"require": {
        ...
        "gregwar/captcha": "1.*"
    },
Copier après la connexion

Ensuite, c'est fait. commandes :

composer update
Copier après la connexion

Ensuite, vous pouvez l'utiliser normalement. Il existe de nombreuses façons de l'utiliser en fonction des besoins spécifiques de développement.

Vous pouvez enregistrer l'image du code de vérification sous forme de fichier :

<?php$builder->save(&#39;out.jpg&#39;);
Copier après la connexion

Vous pouvez directement afficher l'image sur la page Web :

<?php
header(&#39;Content-type: image/jpeg&#39;);
$builder->output();
Copier après la connexion

Vous pouvez générer des images en ligne :

<img src="<?php echo $builder->inline(); ?>" />
Copier après la connexion

Ce qui suit montre l'une des méthodes d'utilisation, qui génère directement des images sur la page Web.

Définir un contrôleur :

<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
Copier après la connexion

//Référencer l'espace de noms correspondant

use Gregwar\Captcha\CaptchaBuilder;
use Session;

class KitController extends Controller {

   /**
    * Display a listing of the resource.
    *
    * @return Response
    */
   public function captcha($tmp)
   {
       //生成验证码图片的Builder对象,配置相应属性
       $builder = new CaptchaBuilder;
       //可以设置图片宽高及字体
       $builder->build($width = 100, $height = 40, $font = null);
       //获取验证码的内容
       $phrase = $builder->getPhrase();

       //把内容存入session
       Session::flash(&#39;milkcaptcha&#39;, $phrase);
       //生成图片
       header("Cache-Control: no-cache, must-revalidate");
       header(&#39;Content-Type: image/jpeg&#39;);
       $builder->output();
   }
}
Copier après la connexion

Ci-dessous, nous pouvons définir le routeur correspondant accède à cette image de code de vérification, modifiez router.php :

Route::get(&#39;kit/captcha/{tmp}&#39;, &#39;KitController@captcha&#39;);
Copier après la connexion

Vous pouvez désormais accéder et voir cette image via l'URL spécifique.

Code de vérification

Il est relativement simple à écrire à l'intérieur du formulaire, il suffit d'y jeter un oeil :

<input type="text" name="captcha" class="form-control" style="width: 300px;">
<a onclick="javascript:re_captcha();" >
  <img src="{{ URL(&#39;kit/captcha/1&#39;) }}"  alt="验证码" title="刷新图片" 
       width="100" height="40" id="c2c98f0de5a04167a9e427d883690ff6" border="0"/>
</a>
<script>  
  function re_captcha() {
    $url = "{{ URL(&#39;kit/captcha&#39;) }}";
        $url = $url + "/" + Math.random();
        document.getElementById(&#39;c2c98f0de5a04167a9e427d883690ff6&#39;).src=$url;
  }
</script>
Copier après la connexion

Enfin, vérifiez le code de vérification correspondant sur la page de soumission du formulaire , et la bibliothèque est également Nous fournissons les méthodes correspondantes :

$userInput = $request->get(&#39;captcha&#39;);
if($builder->testPhrase($userInput)) {
    //用户输入验证码正确
    return &#39;您输入验证码正确&#39;;
} else {
    //用户输入验证码错误
    return &#39;您输入验证码错误&#39;;
}
Copier après la connexion

À ce stade, le code de vérification est terminé. Ce qui précède est le processus d'utilisation de la bibliothèque de codes de vérification gregwar/captcha de Laravel. Si vous êtes intéressé, accédez au site Web PHP chinois pour en rechercher plus~

<.> Recommandations associées :

Tutoriel Laravel sur l'utilisation de la base de données MongoDB

Laravel Développer la fonction d'envoi de code de vérification SMS dans

Exemples d'utilisation de la validation de modèle dans Laravel


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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal