За последние 24 часа нас посетили 17624 программиста и 1611 роботов. Сейчас ищет 1091 программист ...

Помогите решить проблему установки капчи на сайт

Тема в разделе "Сделайте за меня", создана пользователем mcodevp, 30 мар 2019.

  1. mcodevp

    mcodevp Новичок

    С нами с:
    26 мар 2019
    Сообщения:
    8
    Симпатии:
    0
    Привет всем, есть проблема..не могу поставить капчу на сайт, она не правильно работает в моём index.php (нет перехода на станицу validate.php), но сам образец там 3 файла вполне работает (на чистом index.php) помогите пожалуйста кто может я не знаю как сделать, вот код с моего сайта

    HTML:
    1. <table width="70%" height="570" border="1" align="center" cellpadding="0" cellspacing="0" >
    2.  
    3.   <tr>
    4.     <td height="100" colspan="2">
    5.  
    6.   <table width="100%" height="100%" border="0" >
    7.       <tr>
    8.         <td width="41%" align="center" bgcolor="#00416a"><font color="#f5f5f5" size="+5"><a id="href" href="index.php"></a></font></td>
    9.  
    10. <td width="59%" align="center" bgcolor="#FFFFFF"  style="background-image:url(images/giphy.gif); ">
    11. <form action="index.php" method="post">
    12. <table width="84%" height="91" border="0">
    13.   <tr >
    14.     <td colspan="2"><input type="text" name="wallet"  placeholder="Введите логин"  style=" border:1px solid #EBC57E; width:236px; height:25px; border-radius:5px" maxlength="30" autocomplete="on" required/></td>
    15.     <td width="54%" rowspan="2" align="center"><input type="submit" value="Вход и регистрация" name="reg" style=" height:40px; background-color:#0000FF; border: 11px solid transparent; color:#FFFFFF; font-weight:bold;"/></td>
    16. </tr>
    17.  
    18.   <tr>
    19. Введите код с картинки:
    20. <br/>
    21.  <img style="border: 1px solid gray; background: url('bg_capcha.png');" src = "captcha.php" width="120" height="40"/>
    22. <br/>
    23. <form action="validator.php" method="POST">
    24.     <input type="text" name="capcha" />
    25.     <input type="submit" name="send" value="Проверить"/>
    26.  
    27. </form>
    28. <br/>
    29. </form> </td>
    30.  
    31.     <td width="34%"><input type="text" name="captcha" placeholder="цифры" maxlength="5" style=" border:1px solid #EBC57E;border-radius:5px; width:90px; height:25px; margin-left:20px; text-align:center" autocomplete="on" required/> </td>
    32.   </tr>
    33.   <tr>
    34.     <td colspan="3"></td>
    35.     </tr>
    36. </form>
    37. </td>
    38.  
    а вот те примеры с которых хочу взять капчу
    index.php
    HTML:
    1.  
    2. <br/>
    3. <img style="border: 1px solid gray; background: url('bg_capcha.png');" src = "captcha.php" width="120" height="40"/>
    4. <br/>
    5. <form action="validator.php" method="POST">
    6.     <input type="text" name="capcha" />
    7.     <input type="submit" name="send" value="Проверить"/>
    8. </form>
    9.  

    Сам файл капчи capcha.php
    PHP:
    1. <?php
    2.   $letters = '0123456789'; // алфавит
    3.  
    4.   $caplen = 4; //длина текста
    5.   $width = 120; $height = 40; //ширина и высота картинки
    6.   $font = 'comic.ttf';//шрифт текста
    7.   $fontsize = 14;// размер текста
    8.  
    9.   header('Content-type: image/png'); //тип возвращаемого содержимого (картинка в формате PNG)
    10.  
    11.   $im = imagecreatetruecolor($width, $height); //создаёт новое изображение
    12.   imagesavealpha($im, true); //устанавливает прозрачность изображения
    13.   $bg = imagecolorallocatealpha($im, 0, 0, 0, 127); //идентификатор цвета для изображения
    14.   imagefill($im, 0, 0, $bg); //выполняет заливку цветом
    15.   putenv( 'GDFONTPATH=' . realpath('.') ); //проверяет путь до файла со шрифтами
    16.  
    17.   $captcha = '';//обнуляем текст
    18.   for ($i = 0; $i < $caplen; $i++)
    19.   {
    20.     $captcha .= $letters[ rand(0, strlen($letters)-1) ]; // дописываем случайный символ из алфавила
    21.     $x = ($width - 20) / $caplen * $i + 10;//растояние между символами
    22.     $x = rand($x, $x+4);//случайное смещение
    23.     $y = $height - ( ($height - $fontsize) / 2 ); // координата Y
    24.     $curcolor = imagecolorallocate( $im, rand(0, 100), rand(0, 100), rand(0, 100) );//цвет для текущей буквы
    25.     $angle = rand(-25, 25);//случайный угол наклона
    26.     imagettftext($im, $fontsize, $angle, $x, $y, $curcolor, $font, $captcha[$i]); //вывод текста
    27.   }
    28.  
    29.   // открываем сессию для сохранения сгенерированного текста
    30.   $_SESSION['capcha'] = $captcha;
    31.  
    32.   imagepng($im); //выводим изображение
    33.   imagedestroy($im);//отчищаем память
    34. ?>

    и файл проверяющий на правильность ввода validator.php
    PHP:
    1. <?
    2. if($_POST['capcha'] != $_SESSION['capcha'])
    3.     echo "Текст с картинки введен не верно!";
    4. else
    5.     echo "Ура текст совпал!";
     
    #1 mcodevp, 30 мар 2019
    Последнее редактирование: 30 мар 2019
  2. Babka_Gadalka

    Babka_Gadalka Активный пользователь

    С нами с:
    16 фев 2019
    Сообщения:
    162
    Симпатии:
    23
    Адрес:
    Москва, Пушкина, Избушкина, 2й этаж душечка.
    более конкретизирующую проблему опишите. КОНКРЕТИЗИРУЮЩУЮ, конкретику в деталях от и до с элементами.
     
    mcodevp нравится это.
  3. mcodevp

    mcodevp Новичок

    С нами с:
    26 мар 2019
    Сообщения:
    8
    Симпатии:
    0
    Привет, когда я ставлю код который идёт с файлом для index.php вот сюда
    HTML:
    1.  
    2. <tr >
    3.     <td colspan="2"><input type="text" name="wallet"  placeholder="Введите логин"  style=" border:1px solid #EBC57E; width:256px; height:25px; border-radius:5px" maxlength="30" autocomplete="on" required/></td>
    4.     <td width="54%" rowspan="2" align="center"><input type="submit" value="Вход и регистрация" name="reg" style=" height:40px; background-color:#0000FF; border: 11px solid transparent; color:#FFFFFF; font-weight:bold;"/></td>
    5.  </tr>
    6.  
    7.   <tr>
    8. Введите код с картинки:
    9. <br/>
    10.  <img style="border: 1px solid gray; background: url('bg_capcha.png');" src = "captcha.php" width="120" height="40"/>
    11. <br/>
    12. <form action="validator.php" method="POST">
    13.     <input type="text" name="capcha" />
    14.     <input type="submit" name="send" value="Проверить"/>
    15. </form>
    16. <br/>  
    17. </form> </td>
    то при вводе логина и капчи не происходит проверки на правильность ввода, то есть если даже неправильно вводишь тот же эффект (нет перехода на станицу validator.php) вот этот файлик:
    PHP:
    1. <?
    2. if($_POST['capcha'] != $_SESSION['capcha'])
    3.     echo "Текст с картинки введен не верно!";
    4. else
    5.     echo "Ура текст совпал!";
    проблема в том, что я не могу подключить файл validator.php на свой index, когда делаю чистый index.php и туда ставлю этот код

    Untitled-2.jpg

    всё хорошо работает как и должно, но в коде моём index. не хочет:(
     
  4. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Что за веб-сервер и что у него в настройках?
    Что мешает код валидации перетащить на страницу с капчей?
     
    mcodevp нравится это.
  5. mcodevp

    mcodevp Новичок

    С нами с:
    26 мар 2019
    Сообщения:
    8
    Симпатии:
    0
    https://beget.com

    Привет, ещё не пробовал так сделать спасибо..нужно посмотреть
     
  6. Babka_Gadalka

    Babka_Gadalka Активный пользователь

    С нами с:
    16 фев 2019
    Сообщения:
    162
    Симпатии:
    23
    Адрес:
    Москва, Пушкина, Избушкина, 2й этаж душечка.
    PHP:
    1. <img style="border: 1px solid gray; background: url('bg_capcha.png');" src = "captcha.php?<?= time() ?>" width="120" height="40"/>
    отпишись
    --- Добавлено ---
    1 с кешем браузера связано
     
  7. mcodevp

    mcodevp Новичок

    С нами с:
    26 мар 2019
    Сообщения:
    8
    Симпатии:
    0
    вставил код на страничку, так же как и было не переходит на страничку validate.php, кэш почистил..не понимаю поидее всё должно работать
     
  8. mcodevp

    mcodevp Новичок

    С нами с:
    26 мар 2019
    Сообщения:
    8
    Симпатии:
    0
    Спасибо зща помощь!! код заработал! отладил кодировку в базе и в страничках сайта (utf-8) заработала капча!! Спасибо!