آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تولید کپچا عددی

Ebi  5 سال پیش  5 سال پیش
0 0

سلام دوستان نمیدونم چرا نمیشه با فریم ورک استاد تولید کد کپچا کرد (شایدم من بلد نیستم)

ببینید من کدهای زیر رو در فایل پی اچ پی ریختم

<?php
    session_start();
    $random = md5(rand());
    $captcha_vms = substr($random, 0, 6);
    $_SESSION["captcha_vms"] = $captcha_vms;
    $target = imagecreatetruecolor(70,30);
    $captcha_background = imagecolorallocate($target, 255, 78, 19);
    imagefill($target,0,0,$captcha_background);
    $captcha_fore_color = imagecolorallocate($target, 0, 0, 0);
    imagestring($target, 8, 5, 5, $captcha_vms, $captcha_fore_color);
    header("Content-type: image/jpeg");
    imagejpeg($target);
?>

و از کدهای زیر هم در صفحه ام برای صدا زدن کد کپچا استفاده کردم

<p>
<img src="../../function/capcha.php" width="120" height="30" border="1" alt="CAPTCHA">
</p>
<p><button class="btnRefresh">کد جدید</button></p>
<p>کد را وارد نمایید <input type="text" id="result_vms" name="result_vms"></p>

ولی وقتی اجرا میکنم کل صفحه سایتم مشکی میشه و خطای زیر رو نمایش میده.

ممنون میشم کمکم کنید کارم گیره.

0 0
از recaptcha به دلایلی نمیخوام استفاده کنم.ممنونم (5 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Sajad HP  5 سال پیش
0 0

 <?php 

session_start();
//Settings: You can customize the captcha here
$image_width = 120;
$image_height = 40;
$characters_on_image = 6;
$font = 'monofont.ttf';

//The characters that can be used in the CAPTCHA code.
//avoid confusing characters (l 1 and i for example)
$possible_letters = '23456789bcdfghjkmnpqrstvwxyz';
$random_dots = 0;
$random_lines = 20;
$captcha_text_color="0x142864";
$captcha_noice_color = "0x142864";

$code = '';


$i = 0;
while ($i < $characters_on_image) {
$code .= substr($possible_letters, mt_rand(0, strlen($possible_letters)-1), 1);
$i++;
}


$font_size = $image_height * 0.75;
$image = @imagecreate($image_width, $image_height);


/* setting the background, text and noise colours here */
$background_color = imagecolorallocate($image, 255, 255, 255);

$arr_text_color = hexrgb($captcha_text_color);
$text_color = imagecolorallocate($image, $arr_text_color['red'],
$arr_text_color['green'], $arr_text_color['blue']);

$arr_noice_color = hexrgb($captcha_noice_color);
$image_noise_color = imagecolorallocate($image, $arr_noice_color['red'],
$arr_noice_color['green'], $arr_noice_color['blue']);


/* generating the dots randomly in background */
for( $i=0; $i<$random_dots; $i++ ) {
imagefilledellipse($image, mt_rand(0,$image_width),
mt_rand(0,$image_height), 2, 3, $image_noise_color);
}


/* generating lines randomly in background of image */
for( $i=0; $i<$random_lines; $i++ ) {
imageline($image, mt_rand(0,$image_width), mt_rand(0,$image_height),
mt_rand(0,$image_width), mt_rand(0,$image_height), $image_noise_color);
}


/* create a text box and add 6 letters code in it */
$textbox = imagettfbbox($font_size, 0, $font, $code);
$x = ($image_width - $textbox[4])/2;
$y = ($image_height - $textbox[5])/2;
imagettftext($image, $font_size, 0, $x, $y, $text_color, $font , $code);


/* Show captcha image in the page html page */
header('Content-Type: image/jpeg');// defining the image type to be shown in browser widow
imagejpeg($image);//showing the image
imagedestroy($image);//destroying the image instance
$_SESSION['6_letters_code'] = $code;

function hexrgb ($hexstr)
{
$int = hexdec($hexstr);

return array("red" => 0xFF & ($int >> 0x10),
"green" => 0xFF & ($int >> 0x8),
"blue" => 0xFF & $int);
}
?>
پاسخ به سوال 
Sajad HP  5 سال پیش
0 0

فونتی که نوشته شده تو سورس رو از اینترنت دانلود کنید و کنار سورس قرار بدید و مقدار کپچا هم تو session ذخیره میشه طبق سورس

0 0
همچنان همون خطا میاد...من صفحه php کپچا رو require_once میکنم تا اضافه بشه این خطا که گفتم میاد فک میکنم تو بخش header('Content-Type: image/jpeg') مشکلی هست (5 سال پیش)
+1 0
از تو بخش developer option مرورگر بررسی کنید خطای دقیق چیه و از چه بخشی هست. تو قسمت network میشه دید بنظرم (5 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .