|
|
|
Captcha ใน host จริง อัพขึ้นไปแล้ว เวลากรอกตัวอักษรในรูปภาพ ไม่ผ่าน เพราะอักษรไม่ตรงกัน งง มากค่ะ |
|
|
|
|
|
|
|
คือว่าเวลาหนูลองCaptcha ใน localhost เวลากรอกแล้วผ่านค่ะ
แต่ Captcha ใน host จริง อัพขึ้นไปแล้ว เวลากรอกตัวอักษรในรูปภาพ ไม่ผ่าน เพราะอักษรไม่ตรงกัน งง มากค่ะ
แนะนำด้วยนะค่ะ
Code (PHP)
<?php
session_start();
include_once("randomtext.php");
?>
<form action="test.php" method="post">
<img border="0" id="captcha" src="showcaptcha.php" alt="">
<input type="text" name="thaicode">
<input type="submit">
</form>
<?php
@session_start();
$allthaichar=$_SESSION['thaicaptcha'];
$font = array('THSarabunNew Bold.ttf'); // เก็บ font เป็น array ไว้สุ่ม เติม , 'ชื่อฟอนต์เพิ่มไป'
$randomfont = array_rand($font);
$fontshow = $font[$randomfont];
header('Content-type: image/png');
$im = imagecreatetruecolor(120, 30); // ขนาดภาพกว้าง * สูง
$bg_color = imagecolorallocate($im, 255, 255, 255); // สี bg
$font_color = imagecolorallocate($im, 0, 0, 0 ); // สี font
imagefilledrectangle($im, 0, 0, 399, 80, $bg_color);
imagettftext($im, 22, 0, 25, 22, $font_color, $fontshow, $allthaichar); // ปรับค่า x,y ตำแหน่งตัวอักษร
imagepng($im);
imagedestroy($im);
?>
<?php
session_start();
$thaicaptcha_md5=$_SESSION['thaicaptcha_md5'];
if($thaicaptcha_md5!=md5($thaicode)) {
// ใส่เงื่อนไข
echo "กรอกผิด";
} else {
// ใส่เงื่อนไข บันทึก
echo "กรอกถูก";
}
?>
Tag : PHP
|
|
|
|
|
|
Date :
2014-06-26 08:09:32 |
By :
supersonic |
View :
890 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
@session_start();
$thaichar = array('1','2','3','4','5','6','7','8','9','0');
//$thaichar = array('0','1','2');
for ($i=0; $i<=5; $i++) {
$random = array_rand($thaichar);
$allthaichar .= $thaichar[$random];
}
$thaicaptcha=$allthaichar;
$_SESSION['thaicaptcha']=$thaicaptcha;
$_SESSION['thaicaptcha_md5']=md5($thaicaptcha);
?>
|
|
|
|
|
Date :
2014-06-26 08:10:31 |
By :
supersonic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็นหลาย file แบ่ง php code เป็นหลายอัน ก้ได้นะครับ
และควรมีชื่อไฟล์กำกับไว้ด้วยก็จะดีมาก นะครับ
แต่จากการที่บอกว่า ทำที่ localhost ได้ แต่พออัพโหลด ขึ้นไปแล้ว กลับไม่ได้
แสดงว่า บน SERVER เขา บล็อคตัวแปรแบบ global ไว้ครับเวลาเรียกต้องใช้
$_POST $_GET หรือ $_REQUEST เรียกใช้ ตัวแปร ที่เป็น URL Request ครับ
เช่น
39. if($thaicaptcha_md5!=md5($thaicode)) {
แก้เป็น
39. if($thaicaptcha_md5!=md5( $_REQUEST['thaicode'] ) ) {
ก็ลองดู ทุกไฟล์นะครับ ที่มีการเรียกใช้ ตัวแปร ชนิด URL Request ครับ
|
|
|
|
|
Date :
2014-06-26 09:21:37 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|