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

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

Капча с картинкой через 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], попробуйте несколько раз перезагрузить страницу!

    krokodile

    А вторым слово 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. Как сделать капчу из нескольких картинок

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

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

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

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

    Предположим, что вы хотите разрезать картинку, как минимум на 6 частей(или более), либо сделать составную
    Капча с картинкой

    - чтобы это обработать, вам потребуется , как мимум 6 полей ввода, на каждую картинку, как я предполагаю, в аналогии с капчей с картинками гугл - вам придется писать уникальный алгоритм обработки...

    Ну нах...

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

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


Вас может еще заинтересовать список тем : PHP , PHP_POST , PHP_METHOD , CAPTCHA ,
Последняя дата редактирования : 2020-01-19 06:38
Название скрипта :Капча с картинкой
Скрипт № 10.1Ссылка на скачивение: Все скрипты на одной странице
Теги:
Капча с картинкойкак сделать капчу с картинкойКапча с картинкой phpcaptcha с картинкамипример капчи картинки

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