Home > Backend Development > PHP Problem > How to achieve the effect of changing the verification code in PHP when the verification code cannot be seen clearly

How to achieve the effect of changing the verification code in PHP when the verification code cannot be seen clearly

PHPz
Release: 2023-03-05 22:22:02
Original
5798 people have browsed it

php method to realize that the verification code cannot be seen and change one: first open the PHP code file; then add the js code "function changing(){document.getElementById('checkpic').src="/images/ ...}" to the page.

How to achieve the effect of changing the verification code in PHP when the verification code cannot be seen clearly

## Recommendation: "

PHP Video Tutorial"

Now let Let’s take a look at the PHP code

The code is as follows:

<?php
  
session_start();
function random($len) {
    $srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";
    mt_srand();
    $strs = "";
    for ($i = 0; $i < $len; $i++) {
        $strs .= $srcstr[mt_rand(0, 30)];
    }
    return $strs;
}
  
//随机生成的字符串
$str = random(4);
  
//验证码图片的宽度
$width  = 50;     
  
//验证码图片的高度
$height = 25;    
  
//声明需要创建的图层的图片格式
@ header("Content-Type:image/png");
  
//创建一个图层
$im = imagecreate($width, $height);
  
//背景色
$back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
  
//模糊点颜色
$pix  = imagecolorallocate($im, 187, 230, 247);
  
//字体色
$font = imagecolorallocate($im, 41, 163, 238);
  
//绘模糊作用的点
mt_srand();
for ($i = 0; $i < 1000; $i++) {
    imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix);
}
  
//输出字符
imagestring($im, 5, 7, 5, $str, $font);
  
//输出矩形
imagerectangle($im, 0, 0, $width -1, $height -1, $font);
  
//输出图片
imagepng($im);
  
imagedestroy($im);
  
$str = md5($str);
  
//选择 cookie
//SetCookie("verification", $str, time() + 7200, "/");
  
//选择 Session
$_SESSION["verification"] = $str;
?>
Copy after login

Then just call it on the page:

The code is as follows:

<img id="checkpic" onclick="changing();" src=&#39;/images/checkcode.php&#39; />
Copy after login

If Want to achieve "can't see clearly?" Change "" effect, add the following JS to the page

The code is as follows:

function changing(){
    document.getElementById(&#39;checkpic&#39;).src="/images/checkcode.php?"+Math.random();
}
Copy after login

The above is the detailed content of How to achieve the effect of changing the verification code in PHP when the verification code cannot be seen clearly. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template