วิธีทำใส่รหัสให้ตรงรูปภาพเขาทำกันอย่างไงค่ะ ตามรูปเลยค่ะ
อันนี้ แปลงๆ มาใช้เอง ลองดูนะ มีสองไฟล์ ไฟล์แรกเป็นฟอร์ม ไฟล์ที่สองเป็นตัวสร้าง image ถ้าต้องการเปลี่ยน font ก็ก็อปปี้ฟอนต์นั้นมาไว้ในพาธที่รันไฟล์ด้วย
verify.php
<?php
session_start();
srand((double)microtime()*1000000);
$randnum=rand(0,1000000);
function createRandom() {
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;
while ($i <= 5) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
// Usage
$randcode = createRandom();
$_SESSION['code']=$randcode;
?>
<script language="JavaScript" type="text/javascript">
<!--
function checkformcontact ( form )
{
// ** START **
if (document.contactform.randcode.value == "") {
alert( "Please fill in the RANDOM box" );
document.contactform.randcode.focus();
return false ;
}
if (document.contactform.randcode.value != document.contactform.randnum.value) {
alert( "Please input valid RANDOM NUMBER" );
document.contactform.randcode.focus();
return false ;
}
// ** END **
return true ;
}
//-->
</script>
<form name=contactform action=yourscript.php method=post style="margin:0px;" onsubmit="return checkformcontact(this);">
<table width=300 cellpadding=2 cellspacing=0 border=0>
<tr bgcolor=#eeeeee>
<td width=40% valign=top align=right>
<img src=numberpicture.php>
</td>
<td width=60% valign=top>
<input type=text name=randcode size=20><input type=hidden name=randnum value="<?echo $_SESSION['code'];?>"> <span class=searchword>*</span>
</td>
</tr>
<tr bgcolor=#eeeeee>
<td width=100% valign=top align=center colspan=2>
<input type=submit value=submit> <input type=reset vaue=reset>
</td>
</tr>
</table>
numberpicture.php
Code (PHP)
<?php
session_start();
header("Content-type:Image/png");
$im=@imagecreate(110,36) or die("Can't initial the GD image");
$bg_color=imagecolorallocate($im,230,230,230);
$text_color=imagecolorallocate($im,0,102,153);
$border_color=imagecolorallocate($im,100,100,100);
$grid_color=imagecolorallocate($im,180,180,180);
imageline($im,0,9,109,9,$grid_color);
imageline($im,0,18,109,18,$grid_color);
imageline($im,0,27,109,27,$grid_color);
imageline($im,27,0,27,36,$grid_color);
imageline($im,55,0,55,36,$grid_color);
imageline($im,82,0,82,36,$grid_color);
imageline($im,0,0,110,0,$border_color);
imageline($im,109,35,109,0,$border_color);
imageline($im,0,0,0,35,$border_color);
imageline($im,0,35,109,35,$border_color);
$randtime=time();
$randtime=$randtime%3;
if ($randtime==0) {$font="Enigma2i.TTF";}
if ($randtime==1) {$font="adler.ttf";}
if ($randtime==2) {$font="KingthingsTypewriter.ttf";}
//$font="KingthingsTypewriter.ttf";
imageTTFText($im,15,3,18,25,$text_color,$font,$_SESSION['code']);
//imageString($im,35,20,10,$password,$text_color);
imagepng($im);
imagedestroy($im);
?>
Date :
2009-06-12 09:41:32
By :
nimporn
ทำไมรูปภาพไม่ขึ้นละคะคือลองนำcode ด้านบนไปทำดูนะคะ
แต่ว่ามันไม่ขึ้นรูป
ไม่ทราบว่าต้องทำอย่างไรคะ
ช่วยตอบนะคะท่านเซียนทั้งหลาย
ขอบคุณคะ
Date :
2009-08-19 14:32:35
By :
muay028
Load balance : Server 04