Heim  >  Artikel  >  Backend-Entwicklung  >  图片验证码的问题

图片验证码的问题

WBOY
WBOYOriginal
2016-06-23 14:24:46746Durchsuche

一个简单的显示验证码的代码,代码如下。 
for($i=0;$i  {
 $r.=dechex(rand(1,15));
 }

$im=imagecreatetruecolor(100,30);
$bg=imagecolorallocate($im,0,0,0);//第一次调用时,背景颜色。
$te=imagecolorallocate($im,255,255,255);
imagestring($im,5,0,0,$r,$te);

header("content-type:image/jpeg");
imagejpeg($im);

图片显示不显示,如果把$r.=dechex(rand(1,15))的.去掉,图片显示,但只有一位数字。

有错误信息:Undefined variable: r。应该是变量未定义,正确的应该怎么写。


回复讨论(解决方案)

$r = '';
for($i=0;$i  {
 $r.=dechex(rand(1,15));
 }

把$r设个字符初值,这样在下面中就可以当做字符连接使用

有错误信息:Undefined variable: r。应该是变量未定义,正确的应该怎么写。

---------------------------------
那就定义下变量嘛

dechex() 函数把十进制转换为十六进制。

返回类型是 字符串类型

所以 

$r = null;或者$r = '';


都是可以的

另外因为PHP变量是弱类型,所以你定义成 $r = 0; 还是可以的

good luck

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn