2009-09-07 70 views
0

我試圖添加一個驗證碼到其他人的網站上。 我一直在關注this教程,如果我讓它在一個單獨的文件,它工作得很好(所以它不是與服務器設置的問題)驗證碼和標題有問題(PHP)

然而,當我嘗試將其添加到現有的頁面,它根本不工作。當我打開Internet Explorer中的頁面,源代碼顯示與該圖像應該已經顯示,如隨機字符:

‰PNGIHDRé1°8ö[IDATxœÍ]kp×u>»X‹± (4 ›–9¦:‰-C£V™©4–[ÓL•4「Dm~„njR3ª]*qÒÚ‰£ŽãD–&~Ô±ØØŽ$ 

在Firefox中,我得到的消息:圖像「myurl」無法顯示,因爲它包含錯誤。

我假設這是與標題有關,但我不太確定。

這是我用來創建圖像的代碼:

$md5 = md5(microtime() * mktime()); 
$string = substr($md5,0,5); 
$captcha = imagecreatefrompng("./captcha.png"); 
$black = imagecolorallocate($captcha, 0, 0, 0); 
$line = imagecolorallocate($captcha,233,239,239); 
imageline($captcha,0,0,39,29,$line); 
imageline($captcha,40,0,64,29,$line); 
imagestring($captcha, 5, 20, 10, $string, $black); 
$_SESSION['key'] = md5($string); 
header("Content-type: image/png"); 
imagepng($captcha); 

任何意見將不勝感激。謝謝。

回答

4

那些隨機字符實際上是PNG文件的內容。

發生什麼事情是將PNG數據轉儲到您的HTML文件中,而不是通過<img>標記鏈接到它。

你需要把代碼放到自己的文件,它嵌入這樣的:

<img src="image.php">