Помощник
|
Капча срабатывает со 2-го раза |
svp
|
Сообщение
#1
|
||
|
|
||
|
|||
Den1xxx |
17.10.2014, 12:59;
Ответить: Den1xxx
Сообщение
#2
|
|
<a href="javascript:void(0);" onclick="document.getElementById('captcha_img').src = 'captcha/index.php?rnd=' + Math.random();">Обновить код</a> Кроме обновления src у картинки с капчёй, нужно обновить параметр, котороый идёт в форме и отвечает за валидацию. [экстрасенс] Вы обновили картинку, а параметр в теге input type="hidden" нет [/экстрасенс] |
|
|
svp
|
Сообщение
#3
|
|
Спасибо.
Заменил свою строку на Вашу. Теперь капча стала обновляться только при перезагрузке страницы, а при нажатии "Обновить код" появляется ссобщение "... javascript<b></b>:void(0); was not found on this server". Потом прочитал еще раз Ваш пост и понял, что вроде как надо еще обновить параметр, отвечающий за валидацию в теге input type="hidden". А это как сделать? У меня в коде формы input type только для "Очистить все поля": <input type="reset" value="Очистить все поля" style="font-size:8pt"> и больше нигде нет. Вот весь кусок кода относящийся к капче с Вашей строкой где "Обновить": [JS]<b>Код подтверждения:</b></p> <table border="0" width="470" cellspacing="0" cellpadding="0"> <tr> <td valign="top" width="160"> <p align="center" style="margin-top: 0; margin-bottom: 0"> <img src="captcha/index.php" id="captcha_img" width="120" height="60" /></td> <td valign="top" width="10"> <p style="margin-top: 0; margin-bottom: 0"> </td> <td width="300"> <p align="center" style="margin-top: 0; margin-bottom: 0"> <input class="site_links" type="text" name="keystring" title="Введите код изображенный на картинке" size="26"><br> Введите код с картинки</td> </tr> <tr> <td valign="top" width="160"> <p align="center" style="margin-top: 3px; margin-bottom: 0"> <font size="2" color="#000080"> <strong> <font color="#000078"> <strong style="font-weight: 400"> <font style="font-size: 13px"> <a href="javascript<b></b>:void(0);" onclick="document.getElementById('captcha_img').src = 'captcha/index.php?rnd=' + Math.random();">Обновить код</a></font></strong></td> <td valign="top" width="10"> <p style="margin-top: 3px; margin-bottom: 0"> </td> <td width="300"> <p style="margin-top: 3px; margin-bottom: 0"> </td> </tr> </table> <p align="left" style="margin-top: 3px; margin-bottom: 0"> <font size="1"> </font></p> <p align="left" style="margin-top: 0; margin-left:18px; margin-bottom:0"> <font size="1"> <input id=click onClick="return testData()" type=submit value="Отправить" style="font-size: 8pt"> </font><font color="#000000"> <input type="reset" value="Очистить все поля" style="font-size:8pt">[/JS] |
|
|
Den1xxx |
17.10.2014, 16:33;
Ответить: Den1xxx
Сообщение
#4
|
|
Где-то здесь:
<input id=click onClick="return testData()" type=submit value="Отправить" style="font-size: 8pt"> Форматируйте большой код бб-тегами, пожалуйста. Вам надо получить аяксом ответ сервера и подставить значение в функцию testData() на яваскрипте. Для этого на сервере на php нужно писать ответ сервера на случай такого запроса. Мне кажется, что сами это, судя по уровню вопросов, не сделаете. |
|
|
svp
|
Сообщение
#5
|
|
|
|
|
Den1xxx |
17.10.2014, 22:51;
Ответить: Den1xxx
Сообщение
#6
|
|
Думал, что все проще. Если бы было так просто, и только на стороне клиента — капча ломалась бы на раз-два. Не для того она делалась. Обычно в капче используется сессия+код. Самому писать про это лень, вот нашёл краткую статью, описывающую принцип: http://www.russika.ru/ef.php?s=4735 |
|
|
svp
|
Сообщение
#7
|
|
Благодарю.
|
|
|
svp
|
Сообщение
#8
|
|
Den1xxx
Знакомый поправил мне капчу. Пока все работает, с первого раза. Что он исправил 1. В форме htm было <img src="captcha/index.php" id="captcha_img" width="120" height="60" /> стало <img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>" id="captcha_img" width="120" height="60" /> 2. В форме php, в самом конце было if ($res) { header ("Location: sm_success.htm"); } else { header ("Location: sm_failed.htm"); } } } else { header ("Location: error_secr_code.htm"); } unset($_SESSION['captcha_keystring']); ?> стало if ($res) { header ("Location: sm_success.htm"); //echo 'success<br>'; //echo session_name().'='.session_id(); } else { header ("Location: sm_failed.htm"); } } } else { header ("Location: error_secr_code.htm"); //echo 'failed<br>'; //echo session_name().'='.session_id(); } unset($_SESSION['captcha_keystring']); ?> 3. В файле .htaccess добавил в самом начале после ErrorDocument 403 /error_403.php AddType image/x-icon .ico AddType application/x-httpd-php .htm .html .php php_value session.auto_start 1 Посмотрим как будет работать дальше. |
|
|
Den1xxx |
21.10.2014, 9:16;
Ответить: Den1xxx
Сообщение
#9
|
|
|
|
|
svp
|
Сообщение
#10
|
|
я не вижу как обновляете картинку Вот эта часть полностью: [PHP] <img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>" id="captcha_img" width="120" height="60" /><br> <a href="javascript:void(0);" onclick="document.getElementById('captcha_img').src = 'captcha/index.php?rnd=' + Math.random();"> Обновить код </a>[/PHP] //Отформатировал код бб-тегами — Den1xxx |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Увеличу доходы у ваших "Адалт" сайтов в 2 раза | 17 | елегантный | 8553 | 21.5.2020, 10:28 автор: елегантный |
|
Помогу продвинуть ваш сайт в топы и продать товары или услуги в 2 раза быстрее! | 0 | frontline_mw | 1297 | 23.12.2014, 21:38 автор: frontline_mw |
|
Не срабатывает функция flush. Отключение буфферизации. | 2 | bombei | 7143 | 3.9.2014, 22:23 автор: -Arks- |
|
YouTubeMonster v.2.0 - в три раза больше трафика! Новая версия приватного софта и эксклюзивные темы! | 4 | TheStarkoff | 4133 | 29.7.2014, 15:04 автор: TheStarkoff |
|
Не срабатывает код! | 3 | multisoft | 3464 | 16.1.2014, 23:02 автор: -Bartle96- |
Текстовая версия | Сейчас: 23.4.2024, 17:54 |