Помогите, пожалуйста, второй день уже бьюсь.
Хочу написать капчу, не знаю, как в форме в изображении передать src.
Как в Друпале сделать динамический src в картинке.
Делаю так:
А как передать на страницу?
Пишу в хуке меню:
function mycaptcha_menu() {
$items = array();
//страница, на которой форма + капча
$items['library/%/%/%'] = array(
'title' => 'Ваша книга',
'title callback' => 'mycaptcha_info_book_title_callback',
'description' => 'Скачиваем книгу',
'page callback' => 'mycaptcha_info_book',
'page arguments' => array(1,2,3,4),
'access callback' => TRUE,
'file' => 'mycaptcha_book.inc',
'type' => MENU_CALLBACK
);
//колбэк для генерации капчи
$items['captcha'] = array(
'file' => 'mycaptcha_number.inc',
'page callback' => 'mycaptcha_number',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
'mycaptcha_number' - генератор картинки. Не получается связать форму, которая на странице с самой капчой. Помогите, пожалуйста
Комментарии
путь к картинке = путь к генератору
тоесть www.example.com/captcha
Так и назначаю, я же написала выше, как. Путь к картинке прописываю внутри формы, путь генератору - через меню. Не работает.
на друпалорге есть готовый модуль captcha, зачем себя мучать?
Вот сделала самый простой вариант. Создаю самое простое динамическое изображение - все равно вместо картинки выводится крестик, что неправильно?
$items = array();
$items['testimage'] = array(
'type' => MENU_CALLBACK,
'page callback' => 'testimagepng_image',
'access callback' => TRUE,
);
$items['test'] = array(
'type' => MENU_CALLBACK,
'page callback' => 'testimagepng_mypage',
'access callback' => TRUE,
);
return $items;
}
//генерируем изображение
function testimagepng_image() {
$a = "";
drupal_set_header("Content-type: image/png");
$image = imagecreate(88, 31);
$background_color = imagecolorallocate($image, 2, 122, 198);
imagefill($image, 0, 0, $background_color);
$a .= imagepng($image);
imagedestroy($image);
return $a;
}
function testimagepng_mypage(){
$content = '';
$content .= '<img src = "http://st.com/testimage" />';
return $content;
}
print $a
$a .= imagepng($image);
imagedestroy($image);
$a .= print $a;
return $a;
Зачем делать print $a;, если imagepng уже выводит изображение у броузер?
Все равно не работает.
up
+8