Привет всем, есть проблема..не могу поставить капчу на сайт, она не правильно работает в моём index.php (нет перехода на станицу validate.php), но сам образец там 3 файла вполне работает (на чистом index.php) помогите пожалуйста кто может я не знаю как сделать, вот код с моего сайта HTML: <body> <table width="70%" height="570" border="1" align="center" cellpadding="0" cellspacing="0" > <tr> <td height="100" colspan="2"> <table width="100%" height="100%" border="0" > <tr> <td width="41%" align="center" bgcolor="#00416a"><font color="#f5f5f5" size="+5"><a id="href" href="index.php"></a></font></td> <td width="59%" align="center" bgcolor="#FFFFFF" style="background-image:url(images/giphy.gif); "> <form action="index.php" method="post"> <table width="84%" height="91" border="0"> <tr > <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> <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> </tr> <tr> Введите код с картинки: <br/> <img style="border: 1px solid gray; background: url('bg_capcha.png');" src = "captcha.php" width="120" height="40"/> <br/> <form action="validator.php" method="POST"> <input type="text" name="capcha" /> <input type="submit" name="send" value="Проверить"/> </form> <br/> </form> </td> <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> </tr> <tr> <td colspan="3"></td> </tr> </table> </form> </td> а вот те примеры с которых хочу взять капчу index.php HTML: <br/> <img style="border: 1px solid gray; background: url('bg_capcha.png');" src = "captcha.php" width="120" height="40"/> <br/> <form action="validator.php" method="POST"> <input type="text" name="capcha" /> <input type="submit" name="send" value="Проверить"/> </form> Сам файл капчи capcha.php PHP: <?php $letters = '0123456789'; // алфавит $caplen = 4; //длина текста $width = 120; $height = 40; //ширина и высота картинки $font = 'comic.ttf';//шрифт текста $fontsize = 14;// размер текста header('Content-type: image/png'); //тип возвращаемого содержимого (картинка в формате PNG) $im = imagecreatetruecolor($width, $height); //создаёт новое изображение imagesavealpha($im, true); //устанавливает прозрачность изображения $bg = imagecolorallocatealpha($im, 0, 0, 0, 127); //идентификатор цвета для изображения imagefill($im, 0, 0, $bg); //выполняет заливку цветом putenv( 'GDFONTPATH=' . realpath('.') ); //проверяет путь до файла со шрифтами $captcha = '';//обнуляем текст for ($i = 0; $i < $caplen; $i++) { $captcha .= $letters[ rand(0, strlen($letters)-1) ]; // дописываем случайный символ из алфавила $x = ($width - 20) / $caplen * $i + 10;//растояние между символами $x = rand($x, $x+4);//случайное смещение $y = $height - ( ($height - $fontsize) / 2 ); // координата Y $curcolor = imagecolorallocate( $im, rand(0, 100), rand(0, 100), rand(0, 100) );//цвет для текущей буквы $angle = rand(-25, 25);//случайный угол наклона imagettftext($im, $fontsize, $angle, $x, $y, $curcolor, $font, $captcha[$i]); //вывод текста } // открываем сессию для сохранения сгенерированного текста session_start(); $_SESSION['capcha'] = $captcha; imagepng($im); //выводим изображение imagedestroy($im);//отчищаем память ?> и файл проверяющий на правильность ввода validator.php PHP: <? session_start(); if($_POST['capcha'] != $_SESSION['capcha']) echo "Текст с картинки введен не верно!"; else echo "Ура текст совпал!";
более конкретизирующую проблему опишите. КОНКРЕТИЗИРУЮЩУЮ, конкретику в деталях от и до с элементами.
Привет, когда я ставлю код который идёт с файлом для index.php вот сюда HTML: <tr > <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> <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> </tr> <tr> Введите код с картинки: <br/> <img style="border: 1px solid gray; background: url('bg_capcha.png');" src = "captcha.php" width="120" height="40"/> <br/> <form action="validator.php" method="POST"> <input type="text" name="capcha" /> <input type="submit" name="send" value="Проверить"/> </form> <br/> </form> </td> то при вводе логина и капчи не происходит проверки на правильность ввода, то есть если даже неправильно вводишь тот же эффект (нет перехода на станицу validator.php) вот этот файлик: PHP: <? session_start(); if($_POST['capcha'] != $_SESSION['capcha']) echo "Текст с картинки введен не верно!"; else echo "Ура текст совпал!"; проблема в том, что я не могу подключить файл validator.php на свой index, когда делаю чистый index.php и туда ставлю этот код всё хорошо работает как и должно, но в коде моём index. не хочет
Что за веб-сервер и что у него в настройках? Что мешает код валидации перетащить на страницу с капчей?
PHP: <img style="border: 1px solid gray; background: url('bg_capcha.png');" src = "captcha.php?<?= time() ?>" width="120" height="40"/> отпишись --- Добавлено --- 1 с кешем браузера связано
вставил код на страничку, так же как и было не переходит на страничку validate.php, кэш почистил..не понимаю поидее всё должно работать
Спасибо зща помощь!! код заработал! отладил кодировку в базе и в страничках сайта (utf-8) заработала капча!! Спасибо!