index.PHP(实现输入验证码页面)代码如下:

<html>
<head>
<title>check code</title>
</head>
<body>
<form name=check method=post action=check.php>
<input type=hidden name=init value=1>
验证码:<input type=text name=code maxlength=4 style="width=50px;">

<!--得到验证码图片-->
<img src=image.php>

<p>
<input type=submit value="提交">
</form>
</body>
</html>

image.php(验证码生成页面)代码如下:

<?php
session_start();
srand((double)microtime()*1000000); 
$authnum=rand(1000,9999);

$_SESSION["authnum"]= $authnum;
//session_register("authnum");  这个php4.2以上版本已经不支持了,修改城红色显示
header("content-type:image/png");
        function creat_image($width,$height,$authnum)
        {
                srand((double)microtime()*1000000); 
                $im = imagecreate($width,$height); 
                $black = ImageColorAllocate($im, 0,0,0); 
                $white = ImageColorAllocate($im, 255,255,255); 
                $gray = ImageColorAllocate($im, 200,200,200); 
                imagefill($im,0,0,$gray);

//将四位整数验证码绘入图片 
                imagestring($im, 5, 10, 3, $authnum, $black); 
                for($i=0;$i<200;$i++)   //加入干扰象素 
                {         
                    $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
                    imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); 
                } 
                ImagePNG($im); 
                ImageDestroy($im); 
        }
creat_image(60,20,$authnum);
?>

check.php(验证界面)代码如下:

<?php
session_start();

if(!isset($init)) $init=0;
//if($init)

echo ($_POST["code"]);
echo $authnum;
if (isset($_POST['dosubmit']))

{
 if($_POST['code']==$authnum)
 {
  echo "验证码正确!";
 }

else echo "验证码错误,请重新输入!";
}
else echo "调用页面错误!"
?>

以上代码在调试过程中,出现以下错误提示:

Fatal error: Call to undefined function session_register() 的解决方法

1、PHP4.2以上版本不需要用session_register()注册SESSION变量,直接用:
$_SESSION["string"]=“string";
赋值。
2、用$_SESSION["string"]获取变量值。
3、用$_SESSION["string"][$n]可传递SESSION数组。

php编程——验证码的实现(session方法)的更多相关文章

  1. 在ashx文件中制作验证码(使用session要继承IRequiresSessionState)

    必须继承System.Web.SessionState.IRequiresSessionState接口,才能实现Session读写! System.Web.SessionState的一些接口 IRea ...

  2. PHP编写的图片验证码类文件分享方法

    适用于自定义的验证码类! <?php/* * To change this license header, choose License Headers in Project Propertie ...

  3. laravel框架——验证码(第一种方法)

    一.在框架根目录下下载图形验证码的组件 composer require gregwar/captcha=1.* 二.控制器代码 use Gregwar\Captcha\CaptchaBuilder; ...

  4. Struts2获取Session方法

    Struts2里面有三种方法可以获取request,最好使用ServletRequestAware接口通过IOC机制注入Request对象. 方法1:IOC方式action类实现SessionAwar ...

  5. ThinkPHP函数详解:session方法

    ThinkPHP函数详解:session方法 Session方法用于Session 设置.获取.删除和管理操作. Session 用于Session 设置.获取.删除和管理操作 用法    sessi ...

  6. Dede后台验证码不显示解决方法详解(dedecms 5.7)

    今天朋友问我他本地与服务器上安装了dedecms5.7无法显示验证码,一般这种情况很少见,一般情况就是服务器设置问题,还有临时目录的权限问题 Dede后台验证码不显示或不正常分三种情况,下面来逐一分析 ...

  7. thinkphp中的session()方法

    系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示 ...

  8. 关于requests的session方法保持cookie的问题。

    最近在做爬虫的时候遇到了一个问题,在用requests的session方法保持cookie的时候发现requests不能保持手动构建的cookie.起初以为requests只能自动保持由服务器返回的s ...

  9. 关于requests的session方法保持不了cookie的问题。(seesion的意思是保持一个会话,比如 登陆后继续操作(记录身份信息) 而requests是单次请求的请求,身份信息不会被记录)

    最近在做爬虫的时候遇到了一个问题,在用requests的session方法保持cookie的时候发现requests不能保持手动构建的cookie.起初以为requests只能自动保持由服务器返回的s ...

  10. Delphi编程防止界面卡死的方法经验分享

    Delphi编程防止界面卡死的方法经验分享! 1.循环里面防止界面卡死的方法可以使用Application.ProcessMessages:  例如下列方法:    var      n: Integ ...

随机推荐

  1. ListBox项模板中绑定ListBoxItem属性的方法

    原文:ListBox项模板中绑定ListBoxItem属性的方法 <ListBox> <ListBox.ItemTemplate> <DataTemplate> & ...

  2. C++ 字符串, 数字 相互转化

    1: strL.Format("%x", 12); //将数字12转换成,16进制字符(C),存于strL 2: strH.Format("%x",12); / ...

  3. CS50.2

    1,ssd硬盘(solid state disk),固态硬盘,固盘. 2,把电磁信号转化为0或者1 ps:记得吧图给加上 反向即从磁盘中得到数据 3,软盘,floppy disk.早期使用的一种存储. ...

  4. JavaScript快速入门-ECMAScript本地对象(RexExp)

    一.概述 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具. 正则表达式是由一个字符序列形成的搜索模式. 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容. 正则表达式 ...

  5. (3)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- Consul服务治理

    Consul是注册中心,服务提供者.服务提供者.服务消费者等都要注册到Consul中,这样就可以实现服务提供者.服务消费者的隔离. 除了Consul之外,还有Eureka.Zookeeper等类似软件 ...

  6. effective c++ 笔记 (23-25)

    //---------------------------15/04/08---------------------------- //#23   宁以non_member.non_friend替换m ...

  7. Js_封装JQ库为插件

    //在jQuery匿名函数中,采用jQuery.extend();方法创建jQuery插件 //在jQuery匿名函数中, 采用对象.属性 = 函数的方式创建jQuery插件 (function ($ ...

  8. python代码实现经典排序算法

    排序算法在程序中有至关重要的作用, 不同算法的时间复杂度和空间复杂度都有所区别, 这影响着程序运行的效率和资源占用的情况, 经常对一些算法多加练习, 强化吸收, 可以提高对算法的理解, 进而运用到实践 ...

  9. 微软职位内部推荐-Software Engineer

    微软近期Open的职位: Job Title: Software Engineer Work Location: Suzhou, China This is a once in a lifetime ...

  10. ace -- about

    Built for Code Ace is an embeddable code editor written in JavaScript. It matches the features and p ...