• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از کپچا در کدایگنایتر
#1
سلام
من میخواستم از کپچای کدایگنیتر استفاده کنم
این مثالی هست که در user guide خودش هست ولی نمیدونم چطور باید ازش استفاده کنم!
مثلا به جای http://example.com/captcha باید چی بزارم؟! آدرس یک شاخه در لوکال هاست را دادم ولی کار نکرد!
ممنون میشم کمکم کنید...
کد پی‌اچ‌پی:
$vals = array(
    
'word' => 'Random word',
    
'img_path' => './captcha/',
    
'img_url' => 'http://example.com/captcha/',
    
'font_path' => './path/to/fonts/texb.ttf',
    
'img_width' => '150',
    
'img_height' => 30,
    
'expiration' => 7200
    
);

$cap create_captcha($vals);
echo 
$cap['image']; 
  پاسخ
تشکر شده توسط :
#2
پیشنهاد میکنم ازش استفاده نکنید .
کلاً از کپتچاهای سیستم های اختصاصی استفاده نکنید .
خودتون کپچای اختصاصیه خودتون رو بنویسید
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : hidensoft
#3
احتمالا http://example.com رو باید با هاست خودتون یا base url ست کنید.
پیشنهاد من این نیست که خودتون یه کپتچا بنویسید پیشنهاد ام اینه که از یه اسکریپت دیگه استفاده کنید زیاد هم مهم نیست چی باشه .. ریکپتچا بهتره.
  پاسخ
تشکر شده توسط :
#4
سلام.
میخوام کپچای خودم رو امتحان کنم و از کپچای CI استفاده نکنم.
تو CI اینکار رو انجام دادم :
1. تو helper یک captchaImg_helper ایجاد کردم و کدهای ساخت کپچا رو اونجا گذاشتم.
2. اینطور صدا زدم :
کد پی‌اچ‌پی:
<?php 
$this
->load->helper('CaptchaImg');
echo 
captcha_img()
?>
---
اما تصویر کپچای منو نشون نمیده و بقیه ی آیتم های صفحه رو هم بهم ریخته نشون میده.
روشم درسته ؟ !
شما IMG رو کجا میسازید و چطور صدا میکنید ؟
---
ممکنه به خاطر استفاده از کتابخانه ی GD باشه ؟ چطور استفاده کنم؟
----
مرسی
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#5
کسی از کپچا تو کدایگنیتر استفاده نکرده ؟
آخه کدهام خیلی زیاده به خاطر این نمیزارم.
کدم خارج ci ، خروجیش یه عکس هست که با gd درست شده.

1.باید کدهای gd رو حتما مطابق با دستورات CI بنویسم ؟
2. روشم برای استفاده درست هستش ؟

اگه جواب این دو سوال مثبت هست که روش وقت بزارم .
مرسی.
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#6
چرا من استفاده کردم.
یه اکشن بساز که کارش ساخته کپتچاست.
یه تگ ایمیج که src ایش urlه همون اکشنه.
کلاس کپتچا رو با استفاده از ci لود کن.

باید کار کنه.
  پاسخ
تشکر شده توسط : pary_daryayi
#7
نقل قول:یه اکشن بساز که کارش ساخته کپتچاست.
منظورتون از اکشن چیه ؟ helper یا library ؟
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#8
به فانکشن هایی که توی کنترلر می سازی می گن اکشن.
  پاسخ
تشکر شده توسط : Reza pary_daryayi
#9
یه کد کپچای کوچیک رو برای امتحان به این شکل استفاده کردم . اصلا هیچی نشون نمیده . میشه راهنمایی کنید مشکل از کجاست ؟
model_captcha : برای ساخت کپچا
کد پی‌اچ‌پی:
<?php
class Model_captcha extends CI_Model{

    public function 
captcha_img(){
    
$rndCode md5(microtime());
    
$capCode strtoupper(substr($rndCode,0,5));
    
$this->session->set_userdata('captcha',$capCode);
    
$img imagecreate(70,35);
    
imagecolorallocate($img,19,136,191);
    
$textColor imagecolorallocate($img,239,248,255);
    
imagestring($img,10,12,10,$capCode,$textColor);
    
header('Content-Type:image/png');
    
imagepng($img);
    
imagedestroy($img);
            
    }
}
?>

controller :
کد پی‌اچ‌پی:
public function captcha_img(){
$this->model_captcha->captcha_img();


view :
کد پی‌اچ‌پی:
<img src="<?php echo  site_url('site/main/captcha_img');?>"/> 

مدل رو هم ابتدای controller لود کردم.
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#10
کد پی‌اچ‌پی:
header('Content-Type:image/png'); 
رو بردار . نمایش خطا رو فعال کن. ببین چه خطایی داره می ده.

بعد model جاییه که اطلاعات و توابع مربوط به دیتابیس باید قرار گرفته باشند. یکم جاش خوب نیست. بهتره توی یه لایبرری باشه.
  پاسخ
تشکر شده توسط : pary_daryayi


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان