php课程 8-30 实现验证码验证的难点是什么
一、总结
一句话总结:session技术实现验证码传递。
1、生成验证码的那个网页(php文件)中的验证码怎么搁到别的网页中去?
直接在img的src中调用这个php的文件名即可
因为这个php文件或者说网页文件本身就是一个图片(我们在html的head头里面声明了文件类型为图片的),所以直接用图片的方式引入即可,而不是引入文件的方式24验证码图片:
2526 27
2、怎么把验证码图片里面的验证码传递到后台,和用户输入的验证码做比较?
生成验证码图片那个php把验证码写到文件中,后台的文件要比较验证码的时候直接去文件中扣就行。
所以用的就是cookie和session,这里用的是session。1
3、session的本质是什么(session为什么可以跨文件传输变量)?
因为session是文本变量,也就是说session里面的变量都会在文件中放一份,取session的时候是取文件中取,所以session可以做到跨文件传输变量的值。
其它的变量在脚本结束的时候,变量就被释放了。
4、php原生的session使用有什么注意要点?
a、使用session必须开启session,用session_start()
b、session_start()开启session这句话之前不能有任何html输出(<?php?>之外都是html的天下)。1
5、如何点一下验证码图片动态刷新验证码图片?
onclick方法
24验证码图片:
2526 27
6、为什么验证码图片刷新要加随机数作为参数?
如果没有这个随机数作为参数,浏览器发现两次请求的是同一个url,会优先从自己的缓存里面取出内容
24验证码图片:
2526 27
二、完整的验证码实例
这里用的gd库的画字函数,所以要引入字体文件.ttf
index.php
1 2 3 4 536 37用户注册页面 6 14 15 16用户注册:
17
reg.php
1
verigy.php
1