作者jackyeah1213 (frog)
看板PHP
標題Re: [請益] 驗證碼圖案跑不出來
時間Mon Aug 27 13:25:46 2012
根據建議
將php做了相關的修改
<?php
session_start();
create_image();
exit();
function create_image(){
$security_code =$_SESSION["security_code"];
$image = @imagecreatefromjpeg("images/static.jpg");
$black = imagecolorallocate($image, 0, 0, 0);
$vPos = 4;
$hPos = 30;
$fontSize = 5;
imagestring($image, $fontSize, $hPos, $vPos, $security_code, $black);
header("Content-Type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
}
背景圖片有成功的顯示出來
但是驗證碼文字還是無法正確的顯示...
請問是怎麼回事呢~"~
※ 引述《shadowjohn (D3 私服架好嘍!!!)》之銘言:
: ※ 引述《jackyeah1213 (frog)》之銘言:
: : html:
: : <img src="captcha.php" id="captcha" alt="captcha" />
: : php:
: : <?session_start();?>
: : <?php
: : create_image();
: : exit();
: : function create_image(){
: : $security_code =$_SESSION["security_code"];
: : $image = @imagecreatefromjpeg("images\static.jpg");
: : $black = ImageColorAllocate($image, 0, 0, 0);
: : $vPos = 4;
: : $hPos = 30;
: : $fontSize = 5;
: : ImageString($image, $fontSize, $hPos, $vPos, $security_code, $black);
: : header("Content-Type: image/jpeg");
: : ImageJpeg($image);
: : ImageDestroy($image);
: : }
: : ?>
: 第一:
: <?session_start();?> 和 <?php 之間有斷行,明顯有 bom 的問題,請合併修改成
: <?php
: session_start();
: create_image();
: 第二:
: 最後一行,後面不可以有輸出,所以最好 ?> 乾脆不要打了
: 第三:
: $image = @imagecreatefromjpeg("images\static.jpg");
: 請改成
: $image = @imagecreatefromjpeg("images\\static.jpg");
: 或(推薦)
: $image = @imagecreatefromjpeg("images/static.jpg");
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.194.235
推 kerash:不要用@直接連結該圖片頁看看會有甚麼訊息 08/27 13:55
沒有跳出什麼訊息欸@@
推 TeemingVoid:有哪一段程式設定$_SESSION["security_code"]的值呢:) 08/27 14:12
$md5_hash = md5(rand(0,9999999999999999));
$md5_hash = hexdec($md5_hash);
$security_code = substr($md5_hash, 5, 4);
$_SESSION["security_code"] = $security_code;
$_SESSION["security_code"] 是基本頁面所產生的
而captcha.php 則是單純把session叫出來
去產生文字
※ 編輯: jackyeah1213 來自: 118.163.194.235 (08/27 14:52)
→ TeemingVoid:你的程式如果改成 $security_code = '123'; 就會有背 08/27 15:49
→ TeemingVoid:也有123字樣,所以,原程式肯定還沒有程式設定 session 08/27 15:51
→ arrack:樓上+1 08/27 16:54
最後真的發現是session問題 T^T
我還一直陷入驗證碼生成錯誤的迴圈當中...
太感謝各位的幫助了....m(_ _)m
※ 編輯: jackyeah1213 來自: 36.232.248.55 (08/27 21:23)