Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ althtmlcssphpjsblog

Капча с картинкой

Поддержи проект!!!

Капча с картинкой через php! Мы будем делать капчу с картинкой! Нам нужна капча с картинкой, чтобы использовать в форме!

Начнем с самого начала и разберем весь процесс создания капчи с картинками через php!

Навигация по странице :
  1. Картинки для капчи с картинкой
  2. Форма для капчи с картинкой.
  3. Вывод картинки для капчи с картинкой
  4. Получение слова и названия картинки
  5. Код капчи с картинкой в сборе
  6. Живой пример капчи с картинкой
  7. Капча из картинок для сайта
  8. Скачать можно здесь


    Картинки для капчи с картинкой

  1. Для капчи с картинкой нам понадобятся эти самые картинки! У нас в скрипте, который будет обрабатывать нашу капчу с картинками будет всего 6 картинок, размер картинки 100х100px:
  2. Капча с картинкой Капча с картинкой Капча с картинкой Капча с картинкой Капча с картинкой Капча с картинкой


    Форма для капчи с картинкой.

  3. Форму будем отправлять методом пост(method="post"), экшен пустой(action=""), ели в принципе он пустой, то его можно уже и не указывать -форма должна срабатывать и без этого!
  4. У нас будет два инпута(input), первый тип текст type="text", в котором будем заполнять название животного, которое будет выведено. И второй скрытый type="hidden", в который будем получать слово, которое будет принадлежать данной картинке - это будет переменная $slovo, как и откуда берется эта переменная и что внутри, в следующем пункте.

    <form action="" method="post">

    <input type="text" name="text_kapcha" placeholder="Название животного" required><br>

    <input type="hidden" name="hidden_kapcha" value="'.$slovo.'" ><br>

    <button name="otpravit" value="Привет!">Отправить</button>

    </form>


    Вывод картинки для капчи с картинкой

  5. Нам потребуется для вывода картинок массив, в каждой ячейке котрого будет находится название картинки, вывод которых приведен выше:
  6. $array = array('slon','kot','krokodile','mish','petuh','kon');
    Далее нам понадобится функция array_rand, которая будет выбирать одно слово случайным образом из нашего массива:
    $array_rand = array_rand($array, 1);
    Когда мы получили одно значение из этого массива, слово на латинице нужно проверить, чему оно равно, если например это слово slon , то переменная $slovo будет равно слову слон

    if($array[$array_rand] == 'slon'){$slovo = 'слон';}

    if($array[$array_rand] == 'kot'){$slovo = 'кот';}

    if($array[$array_rand] == 'krokodile'){$slovo = 'крокодил';}

    if($array[$array_rand] == 'mish'){$slovo = 'мышь';}

    if($array[$array_rand] == 'petuh'){$slovo = 'петух';}

    if($array[$array_rand] == 'kon'){$slovo = 'конь';}

    Для иллюстрации этого процесса, выведем сперва echo $array[$array_rand], попробуйте несколько раз перезагрузить страницу!

    mish

    А вторым слово echo $slovo

    мышь

    И третьим уже выведем эту картинку таким образом:

    <img border="1px solid" width="100px" height="100" src="//dwweb.ru/__img/php/kapcha/'.$array[$array_rand].'.jpg" title="'.$slovo.'">

    И результат:


    Получение слова и название картинки

  7. Поскольку мы помним, что поля у нас два 1).текст, 2). скрытое, в котором попадает название картинки на английском.
  8. $text_kapcha = strip_tags(trim($_POST['text_kapcha']));

    $hidden = strip_tags(trim($_POST['hidden']));

    Далее идет проверка того, что было отослано в форме! Если в поле $text и $hidden одинаковые значения, то Все верно, если нет - ответ не правильный!

    if($_POST['otpravit'])

    {

    if($text_kapcha == $hidden)

    {

    $show = '<b style="color: red">Все верно</b><br>';

    }

    else

    {

    $show = '<b style="color: red">Ответ не правильный!</b><br>';

    }

    }


    Код капчи с картинкой в сборе

  9. Теперь нам осталось собрать выше перечисленный код в готовый код для капчи с картинкой!
  10. $array = array('slon','kot','krokodile','mish','petuh','kon');

    $array_rand = array_rand($array, 1);

    if($array[$array_rand] == 'slon'){$slovo = 'слон';}

    if($array[$array_rand] == 'kot'){$slovo = 'кот';}

    if($array[$array_rand] == 'krokodile'){$slovo = 'крокодил';}

    if($array[$array_rand] == 'mish'){$slovo = 'мышь';}

    if($array[$array_rand] == 'petuh'){$slovo = 'петух';}

    if($array[$array_rand] == 'kon'){$slovo = 'конь';}

    $text_kapcha= strip_tags(trim($_POST['text_kapcha']));

    $hidden = strip_tags(trim($_POST['hidden']));

    if($_POST['otpravit'])

    {

    if($text_kapcha == $hidden)

    {

    $show .='<b style="color: red">Все верно</b><br>';

    }

    else

    {

    $show .='<b style="color: red">Ответ не правильный!</b><br>';

    }

    }

    $show .= 'Пожалуйста напишите <br>

    если сомневаетесь наведите мышку на картинку<br>

    <img border="1px solid" width="100px" height="100" src="//dwweb.ru/__img/php/kapcha/'.$array[$array_rand].'.jpg" title="'.$slovo.'">

    <form action="" method="post">

    <input type="text" name="text_kapcha" placeholder="Название животного" required><br>

    <input type="hidden" name="hidden_kapcha" value="'.$slovo.'" ><br>

    <button name="otpravit" value="Привет!">Отправить</button>

    </form> ';


    Живой пример капчи с картинкой

  11. Пожалуйста напишите
    если сомневаетесь наведите мышку на картинку



  12. Как сделать капчу из нескольких картинок

    Если вам очень хочется сделать капчу из нескольких картинок, ну чтож, это тоже можно сделать!

    Это делается из того материала, что приведен выше!

    И капча с несколькими картинками - это наверняка настолько круто, что только круче яйца вкрутую!

    Только это настолько муторная и большая работа, в который, я никакого для себя профита не вижу...

    Алгоритм создания капчи с множеством картинок

    Предположим, что вы хотите сделать такую как у Google. Делать, я такую капчу, конечно же не буду, но примерный алгоритм могу набросать...

    Вам понадобится как минимум
    1). 9 полей вывода картинки
    2). + 9 полей input, куда будут передаваться данные по нажатию на картинку, и нужно продумать скрипт, который будет отслеживать нажатие - отжатие картинки
    3). и плюс еще 9 полей ввода hidden, далее просто 9 + 9

    Далее вам нужно... как-то зафиксировать передаваемый данные в поля hidden... это должен быть массив из 9 ячеек с заранее записанными данными... в них... например если тема кошки... то определяете сколько кошек.. и сколько не кошек, и отслеживаете соответствии отправленных данных 9 + 9

    Вывести какой-то алгоритм рандомно выводить в поле hidden выше приведенные значения массива.

    Далее нужно создать, ну как минимум массивов 10 с разными категориями, что аналогично теме "кошек", например -массив "собаки", массив "машины" и т.д...

    Далее нужен алгоритм, который будет рандомно выбирать массив...

    Это если очень кратко...

    Капча с картинкой

    Итого... ну нах...

    Мне очень не нравится такая капча, если она выскакивает где угодно! Есть намного проще и экономичные варианты, чем городить такой огород! Ну, а вы - можете потренироваться!

И да...мы ранее уже делали капчу цифровую + капчу со словами


Вас может еще заинтересовать список тем : #PHP | #PHP_POST | #PHP_METHOD | #CAPTCHA | #PHP_BOOK |
Последняя дата редактирования : 2020-03-28 11:20
Название скрипта :Капча с картинкой
Скрипт № 10.1
Пример
Ссылка на скачивение: Все скрипты на одной странице
Теги:
Капча с картинкойкак сделать капчу с картинкойКапча с картинкой phpcaptcha с картинкамипример капчи картинкикапча в виде выбора картинки

Последние комментарии :
admin :
21/05/2020 05:03
Я Вас помню! Вы частенько оставляли сообщения на сайте!Все никак не мог спросить!? У Вас есть сайт -> зачем это…
подробнее.
Паула :
21/05/2020 04:48
Вообще мне очень нравится, что вы делаете! И ваш подход! И ваш стиль!И не обращайте внимание на всяких…
подробнее.
admin :
20/05/2020 10:36
Как бы смешно это не звучало! Но! Запускается новая система комментирования COMMENTS+ 1.5. в тестовом режиме!От…
подробнее.

НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…) Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2020 Мы на лучшем хостинге -> ruweb