X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Капча срабатывает со 2-го раза
svp
svp
Topic Starter сообщение 17.10.2014, 12:33; Ответить: svp
Сообщение #1


Доброе уважаемые спецы!
Проблема такая. Капча срабатывает со 2-го раза.
После заполнения формы и введения правильных символов капчи появляется сообщение, что не правильно введены символы и если вернуться назад и снова все заполнить (уже естественно с новыми символами - капча обновилась). то сообщение посылается и следующие тоже будут сразу отсылаться, но до первого перезапуска браузера. Т.е. при перезапуске браузера, первый раз всегда появляется ошибка ввода символов, а дальше все нормально.
Не помогает при первом заходе в форму как и обновление всей страницы, так и обновление самой капчи, помогает только новый заход в форму со страницы "неправильно введены символы...".
Сама капча обновляется при нажатии на "Обновить код" и при перезагрузки страницы, а вот срабатывает как я уже написал.
Тему "Обновление капчи" читал, но не понял как поправить у меня.
Вот тот кусок моего кода htm:
<a href="javascript:void(0);" onclick="document.getElementById('captcha_img').src = 'captcha/index.php?rnd=' + Math.random();">Обновить код</a>

Как это исправить?
Если Вам будут нужны для этого еще какие-то коды - как только, то сразу.
Просьба объяснять по-проще, с РНР не очень.
Заранее благодарен всем ответившим.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
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
svp
Topic Starter сообщение 17.10.2014, 13:24; Ответить: 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">&nbsp; </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">&nbsp;</td>
<td width="300">
<p style="margin-top: 3px; margin-bottom: 0">&nbsp;</td>
</tr>
</table>
<p align="left" style="margin-top: 3px; margin-bottom: 0">
<font size="1">
&nbsp; </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">&nbsp;&nbsp;
<input type="reset" value="Очистить все поля" style="font-size:8pt">[/JS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 17.10.2014, 16:33; Ответить: Den1xxx
Сообщение #4


Где-то здесь:
<input id=click onClick="return testData()" type=submit value="Отправить" style="font-size: 8pt">

Форматируйте большой код бб-тегами, пожалуйста.

Вам надо получить аяксом ответ сервера и подставить значение в функцию testData() на яваскрипте.
Для этого на сервере на php нужно писать ответ сервера на случай такого запроса.
Мне кажется, что сами это, судя по уровню вопросов, не сделаете.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
svp
svp
Topic Starter сообщение 17.10.2014, 19:30; Ответить: svp
Сообщение #5


(Den1xxx @ 17.10.2014, 19:33) *
Мне кажется, что сами это, судя по уровню вопросов, не сделаете.

Эт точно. Думал, что все проще.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 17.10.2014, 22:51; Ответить: Den1xxx
Сообщение #6


(svp @ 17.10.2014, 22:30) *
Думал, что все проще.

Если бы было так просто, и только на стороне клиента — капча ломалась бы на раз-два.
Не для того она делалась.
Обычно в капче используется сессия+код.
Самому писать про это лень, вот нашёл краткую статью, описывающую принцип:
http://www.russika.ru/ef.php?s=4735
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
svp
svp
Topic Starter сообщение 18.10.2014, 18:01; Ответить: svp
Сообщение #7


Благодарю.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
svp
svp
Topic Starter сообщение 20.10.2014, 23:46; Ответить: 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
Den1xxx
сообщение 21.10.2014, 9:16; Ответить: Den1xxx
Сообщение #9


svp, я не вижу как обновляете картинку. Без обновления картинки и так всё должно было работать с 1 раза.
И повторно:
(Den1xxx @ 17.10.2014, 19:33) *
Форматируйте большой код бб-тегами, пожалуйста.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
svp
svp
Topic Starter сообщение 21.10.2014, 14:36; Ответить: svp
Сообщение #10


(Den1xxx @ 21.10.2014, 12:16) *
я не вижу как обновляете картинку

Вот эта часть полностью:
[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 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Увеличу доходы у ваших "Адалт" сайтов в 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-


 



RSS Текстовая версия Сейчас: 23.4.2024, 17:54
Дизайн