`
lyongde
  • 浏览: 91321 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

从PHP5.2.6升级PHP5.3.1,验证码程序出错了。

    博客分类:
  • PHP
阅读更多

源程序如下:

 

@header("Content-Type:image/png");
session_start();
$_SESSION['authnum'] = '';

$str = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"; 
$list = explode(",", $str);
for($i=0; $i<4; $i++){
	$randnum = rand(0, 62);
	$authnum .= $list[$randnum];
}
$_SESSION['authnum'] = strtolower($authnum);

$im = @imagecreate(40, 20) or die("Cant's initialize new GD image stream!");
$text_color = imagecolorallocate($im, 255, 255, 255); //文本顔色
$background_color01 = imagecolorallocate($im, 255, 0, 0); //背景色1
$background_color02 = imagecolorallocatealpha($im, 255, 255, 255, 127); //背景色2
$noise_color = imagecolorallocate($im, 200, 200, 200); //干扰顔色
imagefill($im, 0, 0, $background_color02); //区域填充

imagestring($im, 5, 2, 2, $authnum, $text_color);
/*for($i=0; $i<400; $i++){ //加入干扰象素 
	imagesetpixel($im, rand()%90 , rand()%30 , $noise_color);
}*/
imagepng($im);
imagedestroy($im);

 

 

注释掉@header("Content-Type:image/png");,单独运行程序,发现错误:

 

Notice: Undefined variable: authnum in D:\WAMP\wwwroot\mei-de\admin\authnum.php on line 10

报错说是未定义变量authnum,之前用的是PHP5.2.6同样的程序也未有报错,怪哉。

 

在程序前定义好authnum变量好,程序OK。

分享到:
评论
4 楼 fyland 2010-02-02  
在验证码里面有数字和字母的时候,最好把数字0和字母o、数字1和字母l去掉,不然有些字体显示出来的,简直很难分清。
3 楼 roastduck 2010-01-09  
$authnum .= $list[$randnum];

等价于
$authnum = $authnum.$list[$randnum];
等式后的$authnum确实有点凭空蹦出来的感觉.个人还是挺支持变量先定义/声明再使用的规定.
$authnum = '';
$authnum.= $list[$randnum];

这样阅读起也越比较清晰.
  顺便,偷偷乐下自己的代码除了4到5过渡时需要做修改外还没遇到过因为换版本要改代码的问题.


2 楼 lyongde 2010-01-06  
GOOD,3QS
1 楼 szcjlssx 2009-12-15  
PHP5.3变量声明变严格了,呵呵
楼主的代码忍不住回个:获取随机字符串
$chars=array_merge(range(0,9),range('A','Z'));//获取字符数组
shuffle($chars);//打乱数组
$randomChars=join("",array_slice($chars,0,4));//获取4个随机字符
//如果要随机从数组中抽取一个元素,只要用array_rand就行了

相关推荐

    PHP5.2.6.zip

    【标题】"PHP5.2.6.zip"指的是一个包含了PHP 5.2.6版本的压缩包文件,这是PHP编程语言的一个特定历史版本。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适用于Web开发,能够嵌入到HTML中,使...

    php5.2.6.rar

    标题 "php5.2.6.rar" 暗示了这是一个包含PHP 5.2.6版本相关组件的压缩文件。PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发,可以嵌入到HTML中使用。PHP 5.2.6是PHP历史上...

    APMServ5.2.6_php_5.3.0

    APMServ5.2.6和PHP5.3.0都已经较为老旧,可能有未修复的安全漏洞,及时升级到最新版本是非常重要的。 总的来说,APMServ5.2.6_php_5.3.0是针对Windows用户的便捷Web开发环境解决方案,尤其适合那些希望快速启动项目...

    php-5.2.6.tar.gz

    php-5.2.6.tar.gz

    CentOS yum 升级php 5.2.6

    在本场景中,我们将讨论如何通过yum包管理器将CentOS中的PHP从5.2.6版本升级到更现代的版本。 首先,`yum`是Yellowdog Updater, Modified的简称,是Red Hat和CentOS系统中用于安装、更新和管理软件包的工具。它自动...

    eAccelerator for php 5.2.6

    eAccelerator for php 5.2.6 有需要的朋友可以放心下载

    php 5.2.6 php_imagick.dll

    标题中的"php 5.2.6 php_imagick.dll"提到了两个关键点:PHP版本5.2.6和php_imagick.dll。这涉及到PHP编程语言的一个特定扩展,即ImageMagick扩展,它允许PHP与ImageMagick图像处理库进行交互。 PHP是一种广泛使用...

    PHP5.2.6-win32

    **PHP 5.2.6 for Windows 32位详解** ...总的来说,PHP 5.2.6-win32为Windows 32位用户提供了稳定且功能丰富的开发环境,但鉴于其年代久远,为了最佳的开发体验和安全性,建议考虑升级到更现代的PHP版本。

    apache php5.2.6 环境配置

    Apache 和 PHP 是两个非常重要的开源软件,用于构建动态网站和Web应用程序。Apache 是最流行的Web服务器,而PHP是一种广泛使用的服务器端脚本语言,尤其在处理动态内容方面表现出色。在本文中,我们将深入探讨如何...

    PHP5.2.6源代码

    PHP5.2.6源代码是PHP开发历史中的一个重要版本,它包含了丰富的更新和改进,为开发者提供了更多功能和优化。这个源代码包是理解PHP内部工作原理、自定义扩展或者进行性能调优的关键资源。 PHP...

    php-5.2.6 fpm配套包

    《PHP 5.2.6与FPM:深入解析与应用》 PHP 5.2.6是一款历史悠久的脚本语言版本,它在2007年发布,为Web开发提供了强大的支持。此版本在当时引入了许多改进和新特性,包括性能优化、错误修复以及对MySQL数据库更好的...

    APMServ5.2.6php集成环境

    APMServ 5.2.6 是一款拥有图形界面的快速搭建Apache 2.2.9、PHP 5.2.6、MySQL 5.1.28 &4.0.26、Nginx 0.7.19、Memcached 1.2.4、phpMyAdmin 2.11.9.2、OpenSSL、SQLite、 ZendOptimizer,以及ASP、CGI、Perl网站...

    PHP 5.2.6 Win32x86 Installer 完整安装文件(MSI)

    在本场景中,我们讨论的是PHP 5.2.6的Win32x86版本,这是一个针对Windows 32位系统的安装程序。 1. **版本信息**:PHP 5.2.6是PHP发展的一个历史版本,发布于2008年1月29日。它在5.2.x系列中提供了稳定性和性能的...

    PHP5.2.6与Apache2.0的安装及配置

    在本文中,我们将深入探讨如何在Windows环境下安装和配置PHP5.2.6与Apache2.0,这对于初学者和专业开发者来说都是一个基础且重要的技能。PHP是一种广泛使用的开源服务器端脚本语言,主要用于Web开发,而Apache是世界...

    PHP5.2.6+Apache2.2.22组合套装下载

    PHP是一种服务器端的脚本语言,常用于构建动态网站和Web应用程序,而Apache则是最流行的Web服务器软件,能够处理HTTP协议,使用户通过浏览器访问网页。当我们提到"PHP5.2.6+Apache2.2.22组合套装下载"时,这通常意味...

    php-5.2.6-win32-installer.msi

    完整PHP.NET下载收藏的php-5.2.6-Win32.zip。 ==文件信息如下:== 文件: php-5.2.6-Win32.zip 大小: 9744616 字节 MD5: C7E5010114F58282858D7D78E6509CDC SHA1: DEA160D8295D597CF715CF2ED039B478661EF1FC CRC32: ...

    php-5.2.6+ZendOptimizer3.3 IIS7 PHP,zend配套安装文件

    然而,需要注意的是,Zend Optimizer不兼容PHP 5.3及以上版本,因此对于升级PHP版本的计划,这个组件必须被替换为其他兼容的解决方案,如Zend Guard Loader或OpCache。 【与IIS7的集成】 IIS(Internet ...

    PHP v5.2.6 For Linux .zip

    而压缩包中的“downcode.com”可能是一个下载网站的名称,暗示该文件是从该网站下载的PHP 5.2.6 for Linux的副本。 综上所述,PHP 5.2.6是一个适用于Linux的旧版PHP实现,具有安全修复和性能提升。然而,由于其过时...

    php5.2.6压缩文件2-2

    目前最好版本是php5.2.6.如果是linux系统选择complete source code。如果是windows系统,选择windows binaries下PHP 5.2.6 zip package或PHP 5.2.6 installer

    php-5.2.6-win32.zip

    《PHP 5.2.6 for Windows:深入解析与应用》 PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发,可嵌入到HTML中使用。本篇文章将深入探讨PHP 5.2.6在Windows平台上的应用...

Global site tag (gtag.js) - Google Analytics