[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: captcha
khalifa21
Доброго времени суток, господа программисты

прошу помощи в решении проблемы с captcha делалось на codeignitere вот фрагмент
 case 'contact':

$this->load->library('captcha_lib');

// не нажата кнопка отправить
if ( ! isset($_POST['send_message']))
{
// Получаем код картинки
$data['img_code'] = $this->captcha_lib->captcha_actions();
$data['info'] = ''; // информационное сообщение

$name = 'pages/contact';

$this->display_lib->user_page($data,$name);
}
// Нажата кнопка отправить
else

{
// установка правил валидации
$this->form_validation->set_rules($this->pages_model->contact_rules);

$val_res = $this->form_validation->run();

if ($val_res == TRUE)
{
// получаем значение поля капча
$entered_captcha = $this->input->post('captcha');

// если каптча совпадает отправляем письмо
if ( $entered_captcha == $this->session->userdata('rnd_captcha') )
{
}

// Если каптча не совпадает
else
{
// Получаем другой код картинки
$data['img_code'] = $this->captcha_lib->captcha_actions();
$data['info'] = 'Неверно введенны цифры с картинки'; // информационное сообщение

$name = 'pages/contact';

$this->display_lib->user_page($data,$name);
}
}
// Если валидация не пройдена
else
{
// Получаем новый код картинки;
// Получаем код картинки
$data['img_code'] = $this->captcha_lib->captcha_actions();
$data['info'] = ''; // информационное сообщение

$name = 'pages/contact';
$this->display_lib->user_page($data,$name);
}

}

break;

не работает скорее всего вот это момент

// получаем значение поля капча
$entered_captcha = $this->input->post('captcha');

// если каптча совпадает отправляем письмо
if ( $entered_captcha ==$this->session->userdata('rnd_captcha') )
даже если правильно вводишь значение в поле пишет якобы не верное введены цифры в поле
этот пример из видео уроков по созданию приложения на CI там по урокам у автора версия CI 1.7.2 а я на сайте скачал 2.0.1 там когда пишешь библиотеку для каптчи делается так
 
class Captcha_lib
{

public function captcha_actions()
{
$CI =& get_instance();

// Загружаем плагин каптча
$CI->load->plugin('captcha');
// Загружаем хелпер и генерируем случайную строку
$CI->load->helper('string');
$rnd_str = random_string('numeric',5);
// Записываем строку в сессию
$ses_data = array();
$ses_data['rnd_captcha'] = $rnd_str;
$CI->session->set_userdata($ses_data);

// Параметры картинки
$settings = array ('word' => $rnd_str,
'img_path' => './img/captcha/',
'img_url' => base_url().'img/captcha/',
'font_path' => './system/fonts/cour.ttf',
'img_width' => 120,
'img_height' => 30,
'expiration' => 10);

// Создаем каптчу
$captcha = create_captcha($settings);

//Передаем в переменную код катринки
$img_code = $captcha['image'];
return $img_code;


}
а в новой же версии нету плагинов (( да и для работы с сессией нужно ecnrypt key v confige указать, указал ключ поменял строчку

// Загружаем плагин каптча
$CI->load->plugin('captcha');
на
$CI->load->helper('captcha');

и когда вывожу отдельно $this->input->post('captcha'); и $entered_captcha они одинаковы
прошу помогите
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.