//Kod saya untuk pelajaran ini adalah seperti ini saya menyemaknya beberapa kali dan tidak melihat sebarang ralat, tetapi kod pengesahan yang dipaparkan hanya mempunyai satu nombor... Mengapa ini berlaku?
<?php
$height=15 ;//Buat kanvas$img=imagecreatetruecolor($width, $height);//Tetapkan warna$white=imagecolorallocate($img, 0ff
,0ff);
//Isi warna Ke kanvasisi imej($img, 0, 0, $white);//Jana nilai kod pengesahan$chars='1234567890';=strlen_len $chars);$code_len =4;//Panjang kod pengesahan$code="";//Nilai awaluntuk ($i=1; $i < $code_len; ++$i) { $rand=mt_rand(0 ,$chars_len-1);//Keluarkan empat nombor secara rawak $code=$rand;//Sambungkan nombor yang diambil bersama}//Simpannya ke dalam sesi dan gunakan pengesahansession_start() ;$_SESSION['ver_code']=$code;//Tetapkan warna rentetan secara rawak$str_color=imagecolorallocate($img, mt_rand(0,255),(0,mt_rand(0,255),mt_rand(0,255) (0,255));//Kira paparan tengah rentetan//Saiz rentetan$font=5;//Saiz kanvas$img_w=imagesx($img);
$img_h=imagesy($img) ;//Saiz fon$font_w=imagefontwidth($font);$font_h=imagefontheight($font);//String size//String size
font_w*$code_len;
$ code_h=$font_h;
$x=($img_w-$code_w)/2;
$y=($img_h-$code_h)/2;
//Keluarkan pengesahan kod ke kanvas
imagestring( $img, $font, $x, $y, $code, $str_color);
//Direct output
imagejpeg($img);
imagedestroy($img);
?>
untuk($i=0;$i<$code_len;$i++){
$rand=mt_rand(0,$chars_len-1);//Keluarkan nombor secara rawak
$code.=$rand; Adakah empat digit yang dikeluarkan akan disambung bersama
}
Anda kehilangan penyambung
<?php
//Latar belakang untuk menjana kod pengesahan
header('Content-type:image/jpeg');
//Saiz imej latar belakang
$width=60;
$height=15 ;
//Buat kanvas
$img=imagecreatetruecolor($width, $height);
//Tetapkan warna
$white=imagecolorallocate($img, 0xff, 0x
);//Isi warna Ke kanvas
isi imej($img, 0, 0, $white);
//Jana nilai kod pengesahan
$chars='1234567890';
$chars_len=strlen($chars_len=strlen aksara);
$code_len =4;//Panjang kod pengesahan
$code="";//Nilai awal
untuk ($i=1; $i < $code_len; ++$i) {
$rand=mt_rand(0 ,$chars_len-1);//Keluarkan empat nombor secara rawak
$kod.=$rand;//Sambungkan nombor yang diambil bersama
}
//Simpan ke dalam sesi dan gunakan pengesahan
session_start( );
$_SESSION['ver_code']=$code;
//Tetapkan warna rentetan secara rawak
$str_color=imagecolorallocate($img, mtrand(0,255), mtrand(0,255), mtrand(0,255),mt_rand(0,255) (0,255));
//Kira paparan tengah rentetan
//Saiz rentetan
$font=5;
//Saiz kanvas
$img_w=imagesx($img);
$img_h=imagesy($img );
//Saiz fon
$font_w=imagefontwidth($font);
$font_h=imagefontheight($font);
//String size=$$
font_w*$code_len; $code_h=$font_h;$x=($img_w-$code_w)/2;$y=($img_h-$code_h)/2;//Keluarkan pengesahan kod pada kanvasimagestring ($img, $font,$x.$y.$code,$str_color);//Direct outputimagejpeg($img);imagedestroy($img);
?>Selepas tukar kepada ini, ia akan menjadi 3 nombor...