Cómo resolver problemas comunes con códigos de verificación en thinkphp5
Genere la extensión del código de verificación en el directorio del proyecto (necesita instalar Composer para instalarlo)
composer requiere topthink/think-captcha
2 Después del Una vez completada la instalación, verá el directorio como se muestra arriba. Una vez que haya instalado la extensión CAPTCHA, estará listo para continuar con el siguiente paso.
Configurar el archivo comfig.php: Añade una extensión al archivo comfig.php. php
//Captcha
'captcha'=> [
//Codeset
'codeset'=>' 23456780qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM',
//FontSize
'fontSize' => 18,
/ Si se debe utilizar la curva de confusión
' useCurve' => ; verdadero,
//ImageHeight
'imageH' => 40,
//ImageWidth
'imageW' => 130 ,
'length' => 4,
//Si se debe restablecer después de una verificación exitosa
'reset' => true,
],
p>3. ¿Actualizar la función del código de verificación? Para la ruta src, puede usar el método propio del marco o acceder directamente al método img
href= "javascript:refreshVerify()">haga clic para actualizar
Agregar método de actualización en el script js con la sección de etiqueta de evento de actualización
función actualizarVerify()
{
var ts = Fecha.parse(nueva Fecha() )/1000;
console.log(ts);
$( '# captcha_img').attr('src','/captcha?id='+ts);
}
4. Método del controlador
Agréguelo al controlador en el que inició sesión
4.1 Introducido en el título Captcha use think\captcha\;
// Este método presenta la imagen img ? ¡Entonces el ancho y el alto de img se pueden controlar directamente usando CSS!
función pública img() {
$captcha = nuevo Captcha();
return $captcha->entry();
}
// Compruebe si el código de verificación ingresado es correcto $code es la cadena del código de verificación ingresada por el usuario.
Cadena de código, $id identificadores de códigos de verificación múltiples
función check_verify($code, $id = ''){
$captcha = new Captcha();
return $captcha->check($code, $id );
} Este método se utiliza para la siguiente verificación
Agregar publicación en el método de envío del valor del código de verificación del formulario enviar y luego cambiar la publicación para obtener? El nombre del código de verificación del formulario es código
$request=request();
if ($request->isPost()){
if ($request->post('código')){
if ($this->.check_verify($request->post('código'))){
$message='Verificación exitosa';
}else{
$message='Error de verificación';
} p>
}else{
$message='Código de verificación no ingresado';
}
}
Hay no es necesario realizar las operaciones anteriores Pregunta