//このレッスンのコードは次のとおりです。何度か確認しましたが、エラーは見つかりませんでしたが、表示された確認コードには数字が 1 つしかありません...なぜこれが起こっているのですか?ガイダンスをお願いします
<?php
//検証コード生成の背景
header('Content-type:image/jpeg');
//背景画像のサイズ
$width=60;
$height=15;
//キャンバスの作成
$ img=imagecreatetruecolor($width, $height);
//色の割り当て
$white=imagecolorallocate($img, 0xff, 0xff, 0xff);
// キャンバスに色を塗りつぶします
imagefill($img, 0, 0, $white);
//検証コードの値を生成します
$chars='1234567890';
$chars_len=strlen($chars);
$code_len=4;//検証コードの長さ
$code=""; //初期値
for ($i=1; $i < $code_len; $i) {
$rand=mt_rand(0,$chars_len-1);//ランダム4 つの数字を取り出します
$code=$rand;//抽出した数字を結合します
#}#//それをセッションに保存し、検証を使用します
session_start();
$_SESSION['ver_code']=$code;
//文字列の色をランダムに割り当てる
$str_color=imagecolorallocate($img, mt_rand (0,255), mt_rand( 0,255), mt_rand(0,255));
//中央に表示する文字列を計算
//文字列のサイズ
$font=5;
//キャンバス サイズ
$img_w=imagesx($img);
$img_h=imagesy($img);
//フォント サイズ
$font_w=imagefontwidth($font);
#$font_h=imagefontheight($font);##//文字列サイズ
$code_w=$font_w*$code_len ;
$code_h=$font_h;
$x=($img_w-$code_w)/2;
$y =($img_h-$code_h)/2 ;
//検証コードをキャンバスに出力します
imagestring($img, $font, $x, $y, $code, $ str_color);
/ /直接出力
imagejpeg($img);
imagedestroy($img);
# #?>
for($i=0;$i
$rand=mt_rand(0,$chars_len-1);//ランダムに数字を取り出す
$code.=$rand; //取り出した4桁を繋ぎ合わせます
}
コネクタが抜けています
<?php
//検証コードを生成する背景
header('Content-type:image/jpeg');
//背景画像のサイズ
$width=60;
$height=15 ;
//キャンバスを作成
$img=imagecreatetruecolor($width, $height);
//カラーを割り当てる
$white=imagecolorallocate($img, 0xff, 0xff, 0xff);
//キャンバスに塗りつぶし色
imagefill($img, 0, 0, $white);
//認証コードの値を生成
$chars='1234567890';
$chars_len=strlen($ chars);
$code_len =4;//認証コードの長さ
$code="";//初期値
for ($i=1; $i < $code_len; ++$i) {
$rand=mt_rand(0 ,$chars_len-1);//ランダムに4つの数字を取り出します
$code.=$rand;//取り出した数字をつなぎ合わせます
}
//それをセッションに保存し、検証を使用
session_start( );
$_SESSION['ver_code']=$code;
//文字列の色をランダムに割り当てる
$str_color=imagecolorallocate($img, mt_rand(0,255), mt_rand(0,255), mt_rand (0,255));
//文字列の中央表示を計算
//文字列のサイズ
$font=5;
//キャンバスサイズ
$img_w=imagesx($img);
$img_h=imagesy($img );
//フォントサイズ
$font_w=imagefontwidth($font);
$font_h=imagefontheight($font);
//文字列サイズ
$code_w=$ font_w*$code_len;
$code_h=$font_h;
$x=($img_w-$code_w)/2;
$y=($img_h-$code_h)/2;
//検証を出力しますキャンバスへのコード
imagestring ($img, $font,$x.$y.$code,$str_color);
//直接出力
imagejpeg($img);
imagedestroy($img);
?>
これに変更すると3つの数字になります…