求助 PHP驗證碼 @符號
PHP code
PHP code
我現在前面要是不加@符號的話就是報錯。下面是錯誤的提示
Notice: Use of undefined constant code - assumed 'code' in F:\wamp\apps\project\code_sub.php on line 3
Notice: Use of undefined constant code - assumed 'code' in F:\wamp\apps\project\code_sub.php on line 4
Notice: Use of undefined constant check_pic - assumed 'check_pic' in F:\wamp\apps\project\code_sub.php on line 4
加上@符號之後就一切正常了 這是什麼錯誤
------解決方案--------------------
加引號 $_SESSION["check_pic"]
undefined constant是未定義常量的意思,不加引號字串按常量看待
------解決方案--------------------
PHP code
for($i=0;$i<4;$i++){ $rand = ''; $rand.=dechex(rand(1,15));//前面的這個@符號要是不加,圖片就顯示不出來。 } $_SESSION['check_pic']=$rand; //前面的@符號要是去掉的話這個就會報錯 而且全是亂碼。
------解決方案--------------------
$rand.=
這個變數無賦值的情況使用,所以導致notice錯誤,映像是二進位,notice是文本,二者混合自然導致圖片無法顯示。
解決辦法:
先給$rand賦值
$rand='';
------解決方案--------------------
PHP code
session_start(); $rand = ''; for($i=0;$i<4;$i++){ $rand.=dechex(rand(1,15));//前面的這個@符號要是不加,圖片就顯示不出來。 } $_SESSION['check_pic']=$rand; //前面的@符號要是去掉的話這個就會報錯 而且全是亂碼。 $im=imagecreatetruecolor(100,30); $bg=imagecolorallocate($im,0,0,0); $te=imagecolorallocate($im,255,255,255); imagestring($im,5,0,0,$rand,$te); header("content-type:image/jpeg"); imagejpeg($im);
------解決方案--------------------
探討
PHP code
session_start();
for($i=0;$i<4;$i++){
@$rand.=dechex(rand(1,15));//前面的這個@符號要是不加,圖片就顯示不出來。
}
@$_SESSION[check_pic]=$rand; //前面的@符號要是去掉的話這個就會報錯 而且全是亂碼。 ……