亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

驗證碼沒顯示

前半部分完全按照老師的代碼來寫的,驗證碼就是不顯示,也沒報錯,跪求解答?。。。?/p>

http://img1.sycdn.imooc.com//55acbbfe000159b411641627.jpg

正在回答

4 回答

問題以解決string.func.php 這文件的問題

0 回復 有任何疑惑可以回復我~
#1

Mr_zMin 提問者

非常感謝!
2015-07-23 回復 有任何疑惑可以回復我~
#2

Mr_zMin 提問者

再請問下 為什么在type=1時要用(array(range(0,9)),而在type=3時不需要呢
2015-07-23 回復 有任何疑惑可以回復我~
#3

Mr_zMin 提問者

非常感謝,我重新檢查了下代碼,應該是我粗心,代碼寫錯了,很感謝您的解答?。?!
2015-07-23 回復 有任何疑惑可以回復我~
#4

鐵板燒上的魷魚 回復 Mr_zMin 提問者

join函數的第二參數是要數組的 而你給的是什么樣的數組 就在這些值里面找顯示的驗證碼 比如 $chars = join("",(array(0,1,2,3,4,5,6,7,8,9))); 就在這里面找 你顯示的驗證碼 而你說的type 可能就是讓你的驗證碼 顯示 數字 還是字母 或者 大些字母 我也沒仔細看也不知道是不是這樣的
2015-07-23 回復 有任何疑惑可以回復我~
查看1條回復
<?php?
require_once?'string.func.php';
//通過GD庫做驗證碼
function?verifyImage($type=1,$length=4,$pixel=0,$line=0,$sess_name?=?"verify"){
	session_start();
	//創建畫布
	$width?=?80;
	$height?=?28;
	$image?=?imagecreatetruecolor?(?$width,?$height?);
	$white?=?imagecolorallocate?(?$image,?255,?255,?255?);
	$black?=?imagecolorallocate?(?$image,?0,?0,?0?);
	//用填充矩形填充畫布
	imagefilledrectangle?(?$image,?1,?1,?$width?-?2,?$height?-?2,?$white?);
	$chars?=?buildRandomString?(?$type,?$length?);
	$_SESSION?[$sess_name]?=?$chars;
	//$fontfiles?=?array?("msyh.ttf",?"msyhbd.ttf",?"simkai.ttf",?"SIMLI.TTF",?"simsun.ttc",?"SIMYOU.TTF"?);
	$fontfiles?=?array?("SIMYOU.TTF"?);
	//由于字體文件比較大,就只保留一個字體,如果有需要的同學可以自己添加字體,字體在你的電腦中的fonts文件夾里有,直接運行輸入fonts就能看到相應字體
	for($i?=?0;?$i?<?$length;?$i?++)?{
		$size?=?mt_rand?(?14,?18?);
		$angle?=?mt_rand?(?-?15,?15?);
		$x?=?5?+?$i?*?$size;
		$y?=?mt_rand?(?20,?26?);
		$fontfile?=?"../fonts/"?.?$fontfiles?[mt_rand?(?0,?count?(?$fontfiles?)?-?1?)];
		$color?=?imagecolorallocate?(?$image,?mt_rand?(?50,?90?),?mt_rand?(?80,?200?),?mt_rand?(?90,?180?)?);
		$text?=?substr?(?$chars,?$i,?1?);
		imagettftext?(?$image,?$size,?$angle,?$x,?$y,?$color,?$fontfile,?$text?);
	}
	if?($pixel)?{
		for($i?=?0;?$i?<?50;?$i?++)?{
			imagesetpixel?(?$image,?mt_rand?(?0,?$width?-?1?),?mt_rand?(?0,?$height?-?1?),?$black?);
		}
	}
	if?($line)?{
		for($i?=?1;?$i?<?$line;?$i?++)?{
			$color?=?imagecolorallocate?(?$image,?mt_rand?(?50,?90?),?mt_rand?(?80,?200?),?mt_rand?(?90,?180?)?);
			imageline?(?$image,?mt_rand?(?0,?$width?-?1?),?mt_rand?(?0,?$height?-?1?),?mt_rand?(?0,?$width?-?1?),?mt_rand?(?0,?$height?-?1?),?$color?);
		}
	}
	header?(?"content-type:image/gif"?);
	imagegif?(?$image?);
	imagedestroy?(?$image?);
}
<?php?
/**
?*?生成驗證碼
?*?@param?int?$type
?*?@param?int?$length
?*?@return?string
?*/
function?buildRandomString($type=1,$length=4){
	if?($type?==?1)?{
		$chars?=?join?(?"",?range?(?0,?9?)?);
	}?elseif?($type?==?2)?{
		$chars?=?join?(?"",?array_merge?(?range?(?"a",?"z"?),?range?(?"A",?"Z"?)?)?);
	}?elseif?($type?==?3)?{
		$chars?=?join?(?"",?array_merge?(?range?(?"a",?"z"?),?range?(?"A",?"Z"?),?range?(?0,?9?)?)?);
	}
	if?($length?>?strlen?(?$chars?))?{
		exit?(?"字符串長度不夠"?);
	}
	$chars?=?str_shuffle?(?$chars?);
	return?substr?(?$chars,?0,?$length?);
}

為什么我復制老師的代碼測試不顯示?gd庫也開了http://img1.sycdn.imooc.com//563da8600001e54212000675.jpg

0 回復 有任何疑惑可以回復我~

把你的header("Content-type: image/png;")替換成下面三行看看

header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate");

ob_clean();?

header("Content-type: image/png;charset=utf8");


1 回復 有任何疑惑可以回復我~
#1

Mr_zMin 提問者

還是不行,貌似是require_once 的路徑問題,因為我在文件頭上加一句echo 'here';exit;,可以打印出here,加到require_once后面就打印不出來了,請問能幫我解答下require_once的路徑問題嗎?謝謝啦
2015-07-22 回復 有任何疑惑可以回復我~
#2

Mr_zMin 提問者

我自己在網上也看了,改成絕對路徑require_once (dirname(__FILE__).'/'."shopImooc/lib/string.func.php");也不行!??!
2015-07-22 回復 有任何疑惑可以回復我~

gd庫有開嗎

0 回復 有任何疑惑可以回復我~
#1

Mr_zMin 提問者

extension=php_gd2.dll 是這個吧 開啟了哦
2015-07-21 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
手把手教你實現電商網站后臺開發
  • 參與學習       117253    人
  • 解答問題       2101    個

手把手教你用PHP搭建電子商務平臺,由淺入深教你搭建電商系統

進入課程

驗證碼沒顯示

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號