課程
/后端開發(fā)
/PHP
/手把手教你實(shí)現(xiàn)電商網(wǎng)站后臺(tái)開發(fā)
為什么我的驗(yàn)證碼不顯示 報(bào)錯(cuò)說是session的問題 ?代碼和老師的一模一樣 ?求解
2017-05-06
源自:手把手教你實(shí)現(xiàn)電商網(wǎng)站后臺(tái)開發(fā) 2-3
正在回答
題主給的信息比較少哦,如果是session問題的話,或許可能是session_start()沒有開啟,或許是沒有把隨機(jī)生成的字符存儲(chǔ)到$_session['verify'],其實(shí)這個(gè)老師的驗(yàn)證碼貌似是有一點(diǎn)問題的,所以我自己重新寫了一個(gè),意思是差不做的,你可以試試看,使用我的這一段代碼,就是把老師的verifyImage()方法里面的內(nèi)容換一換
//通過GD庫(kù)做驗(yàn)證碼 function?verifyImage() { ???session_start(); //驗(yàn)證碼 ???/* ????*??-?畫布(淺色、隨機(jī)) ???????-?干擾(隨機(jī)出現(xiàn)的線,隨機(jī)出現(xiàn)的點(diǎn)) ???????-?輸出文字 ???????-?展示 ???????-?釋放資源 ???*/ //畫布(淺色、隨機(jī)) ???$img?=?imagecreatetruecolor(80,?40); //創(chuàng)建畫布的背景色 ???$bgcolor?=?imagecolorallocate($img, ???????rand(200,?255), ???????rand(200,?255), ???????rand(200,?255)); //填充畫布 ???imagefill($img,?0,?0,?$bgcolor); //-?干擾(隨機(jī)出現(xiàn)的線,隨機(jī)出現(xiàn)的點(diǎn)) ???for?($i?=?0;?$i?<?50;?$i++)?{ ???????$color?=?imagecolorallocate($img, ???????????rand(100,?200), ???????????rand(100,?200), ???????????rand(100,?200)); ???????imagesetpixel($img,?rand(1,?79), ???????????rand(1,?29),?$color); ???} //隨機(jī)10條線 ???for?($i?=?0;?$i?<?10;?$i++)?{ ???????$color?=?imagecolorallocate($img, ???????????rand(100,?200), ???????????rand(100,?200), ???????????rand(100,?200)); ???????imageline($img,?rand(1,?79),?rand(1,?29), ???????????rand(1,?79),?rand(1,?29),?$color); ???} //-?輸出文字 ???$codes?=?"0123456789abcdefghijklmnopqrstuvwxyz"; //規(guī)定驗(yàn)證碼的長(zhǎng)度 ???$length?=?4; //定義一個(gè)將存儲(chǔ)在session中的字符串變量 ???$words?=?""; //從?庫(kù)字符串?隨機(jī)截取?每次截取一個(gè)字符 ???for?($i?=?0;?$i?<?$length;?$i++)?{ ???????$color?=?imagecolorallocate($img, ???????????rand(0,?100), ???????????rand(0,?100), ???????????rand(0,?100)); ???????$str?=?substr($codes,?rand(0,?strlen($codes)?-?1),?1); ???????$words?.=?$str; ???????$x?=?(80?/?$length)?*?$i?+?5; ???????$y?=?rand(10,?20); ???????imagestring($img,?5,?$x,?$y,?$str,?$color); ???} //將驗(yàn)證碼上的文字保存到session中 ???$_SESSION['verify']?=?$words; //-?展示 ???header("Content-Type:image/png"); ???imagepng($img); //-?釋放資源 ???imagedestroy($img); }
慕粉0038073602 提問者
舉報(bào)
手把手教你用PHP搭建電子商務(wù)平臺(tái),由淺入深教你搭建電商系統(tǒng)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-05-06
題主給的信息比較少哦,如果是session問題的話,或許可能是session_start()沒有開啟,或許是沒有把隨機(jī)生成的字符存儲(chǔ)到$_session['verify'],其實(shí)這個(gè)老師的驗(yàn)證碼貌似是有一點(diǎn)問題的,所以我自己重新寫了一個(gè),意思是差不做的,你可以試試看,使用我的這一段代碼,就是把老師的verifyImage()方法里面的內(nèi)容換一換