[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: С формы обратной связи с капчей приходит ошибка
Вдладислав1983
Здравствуйте! Есть форма обратной связи, где имеется математическая капча http://f0005424.xsph.ru/landing/index.php. Сообщения с формы приходят на ту же страницу, где и находится форма в виде sweetalert. Обработчик формы находится на другой странице и включается в страницу с формой при помощи require_once. Также есть функция, которая не перезагружает страницу после нажатия "Отправить". Фактически, проверки основных данных нет в обработчике формы. ФИО, телефон модель iPhone, комментарии являются обязательными полями и проверятся через атрибут required HTML5. И достаточно того, что эти поля заполнены. В обработчике проверяется только капча. Я не совсем уверен, что в обработчике все гладко, но вроде все логично. И из-за этого всегда выдается сообщение "Дан не верный ответ". Если убрать капчу из формы и проверку из обработчика, то выдается сообщение "Ошибка", хотя ошибок нет. И при этом отправляется письмо на почту. Но, при следующих попытках даже с перезагрузкой страницы, чтобы капча обновилась, письмо на почту уже не приходит.
Сама форма находится на бесплатном хостинге, на котором я разрабатываю сайт с формой обратной связи. Возможно, что у хостинга есть ограничения. Или ограничения связаны с тем, что он бесплатный.

Страницы в архиве прикрепил
casper - gg
у вас недостаточные знания мат.части. Что посоветовать - изучайте, изучайте, изучайте.

Такую капчу почти любой немного знающий js может взломать. Можете ее смело убирать, лучше почитайте про капчу, например в блоге у twin'a (ссылку сами найдите). Если данные проверять только атрибутом required HTML5, то сайт тоже не сложно взломать. Почитайте sql-иньекции.

Ну а про бесплатный хостинг - промолчу. На seo форумах почитайте про это.
Вдладислав1983
Так дело не в капчи. Можно поставить и другую качпу. Я уже ставил разные капчи, но все равно та же самая проблема. Выводится сообщение "Дан не верный ответ". Код не верно написан? Или же проблема в хостинге? Но, хостинг бесплатный на платный я пока не могу поменять, т.к. нужно довести сайт до ума, а потом уже выкладывать на платный хостинг.
casper - gg

if ($_POST['res'] == $_SESSION['res']) {

- это условие не выполняется в скрипте, если ajax'ом слать данные


<?php
require_once './form.php';

$a = rand(1,10);
$b = rand(1,10);
$_SESSION['res'] = $a + $b;
?>

- раз файл подключен, попробуйте без ajax


<br><?php echo $a. ' + ' .$b. ' = ';?><input type="text" name="res" />

- эта супер капча годится для обучения, не более.

...то есть не ajax'ом отправлять данные на form.php, а отправлять на самого себя (index.php) без аякса.
Вдладислав1983
Спасибо. А есть капча, которая совместима с этим скриптом?

Воощем, смысл такой, чтобы была форма обратной связи с капча, при успешном вводе или ошибочном выводилось сообщение в swetalert без перезагрузки страницы и приходили на почту только письма с успешным вводом данных.

Я знаю, что sweetalert - это скрипт. Я спрашивал ранее, а можно и совместить sweetalert с проверкой формы на php и не делать проверку и отправку данных тоже javascript. Мне сказали, что можно и посоветавали как. А далее выяснилось, что страница перезагружается и мне сказали, что можно убрать перезагрузку следующим скриптом. А вот теперь есть такая проблема. Так можно ее решить так, чтобы проверка данных и отправка на почту проходила как нужно и выводились соответствующие сообщения в красивом всплывающем окне sweetalert без перезагрузки страницы. Правда, мне еще сказали, что, если один раз капча была введена не верно, то при повторном вводе без перезагрузки страницы она будет не верна, т.к. в сессии будет другая запись. И для этого нужно капчу делать динамической.
Zzepish
Вдладислав1983
такая каптча ломается на ура. Если есть желание - могу продемонстрировать загаживание базы хламом
casper - gg
Вдладислав1983
Советую остановится на более детальном изучении сессий плюс ко всему ранее. На js капчу и проверки не советую делать, так как js легко отключить в браузере любому пользователю.

В целом. Если горит быстрее сделать, обратитесь к специалисту. Или изучайте, подобные вопросы сами по себе будут отпадать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.