php验证码zhuc_PHP实现登录验证码校验功能

本文介绍了如何使用PHP生成并校验登录验证码。通过session_start()启动会话,创建一个100×30像素的画布,绘制随机字符串并添加干扰线和点,最后以PNG格式输出。用户输入的验证码与服务器端保存的验证码进行比较,实现登录验证。文章还提供了HTML页面代码示例。
摘要由CSDN通过智能技术生成

验证码的校验是利用PHP中的 SESSION功能来实现。

在最顶端声明函数 session_start();告诉服务器我们要用这个函数的功能。

session_start();

接下来我们用到的就是验证码实现的代码。这里用英文数字的代码为例。

$image = imagecreatetruecolor(100, 30); //创建一个100×30的画布

$white = imagecolorallocate($image,255,255,255);//白色

imagefill($image,0,0,$white);//覆盖黑色画布

然后在验证码实现之前声明一个空变量,用来存放验证码。

$session = ""; //空变量 ,存放验证码

for($i=0;$i<4;$i++){

$size = 6;

$x = $i*25+mt_rand(5,10);

$y = mt_rand(5,10);

$sizi_color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220));

$char = join("",array_merge(range('a','z'),range('A','Z'),range(0,9)));

$char = str_shuffle($char);

$char = substr($char,0,1);

imagestring($image,$size,$x,$y,$char,$sizi_color);

$session .= $char ; //把验证码的每一个值赋值给变量

}

$_SESSION['session'] = $session; //这个变量的值与用户输入的值相等

for($k=0;$k<200;$k++){

$rand_color = imagecolorallocate($image,mt_rand(50,200),mt_rand(50,200),mt_rand(50,200));

imagesetpixel($image,mt_rand(1,99),mt_rand(1,29),$rand_color);

}

for($n=0;$n<5;$n++){

$line_color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220));

imageline($image,mt_rand(1,99),mt_rand(1,29),mt_rand(1,99),mt_rand(1,29),$line_color);

}

header('content-type:image/png');//设置文件输出格式

imagepng( $image ); //以png格式输出$image图像

imagedestroy( $image ); //销毁图像

用 POST 方式来接收验证码。 strtolower 函数是让服务器不区分大小写。这样可以有效减少用户的输错率。

if(isset($_POST['session'])){

session_start();

if(strtolower($_POST['session'])==strtolower($_SESSION['session'])){

echo'输入正确';

}else{

echo '输入错误';

}

exit();

}

下面是HTML的页面代码。

确认验证码

验证码图片:

看不清?换一个

请输入图片中的验证码:

总结

以上所述是小编给大家介绍的PHP实现登录验证码校验功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在达梦数据库,可以使用以下语法来创建表空间: create tablespace 表空间名称 datafile '数据文件路径' size 大小; 例如,要创建一个名为tbs的表空间,数据文件路径为'/dm7/data/DAMENG/tbs.DBF',大小为200MB,可以使用以下语句: create tablespace tbs datafile '/dm7/data/DAMENG/tbs.DBF' size 200; 此外,还可以使用alter语句对表空间进行一些操作。比如,使用alter tablespace tbs rename datafile '旧文件路径' to '新文件路径'来更改表空间的数据文件路径,使用alter tablespace tbs add datafile '数据文件路径' size 大小;来追加数据文件到表空间,使用alter tablespace tbs offline;将表空间设置为脱机状态,使用alter tablespace tbs online;将表空间设置为联机状态。还可以使用alter tablespace tbs datafile '数据文件路径' autoextend off;来关闭表空间的自动扩展功能,使用alter tablespace tbs datafile '数据文件路径' autoextend on NEXT 增量 MAXSIZE 最大大小;来设置表空间的自动扩展功能。 请注意,创建表空间时建议将数据文件放在单独的磁盘上,以提高性能和可用性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [达梦数据库创建表空间](https://blog.csdn.net/weixin_43389023/article/details/105475638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [国产达梦数据库技术篇--操作表空间](https://blog.csdn.net/zhuc_dongyc/article/details/106358711)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值