Здравствуйте! Помогите пожалуйста, а насколько реально установить captcha на сайт сделанный на CodeIgniter 2.0 Вот приведу код страницы, куда надо установить captcha: Код (Text): <div class="grid_9"> <h1>Форма обратной связи</h1><br /> <div class="errorSummary" id="errMsg" style="display: none"></div> <form id="kodeksForm" action="/form/feedback/submit" method="post" onsubmit="return sendForm('kodeksForm', 'errMsg', 'submit');"> <label for="theme">Выберите тему:</label><br /> <select id="theme" name="theme" size="3"> <option value="Вопрос">Вопрос</option> <option value="Временный свободный доступ">Временный свободный доступ</option> <option value="Заказ демонстрации">Заказ демонстрации</option> </select><br /><br /> <table> <tr> <td> <label for="organization">Организация</label><br /> <input id="organization" name="organization" type="text" size="25" /><br /><br /> </td> <td> <label for="person">Контактное лицо</label><br /> <input id="person" name="person" type="text" size="25" /><br /><br /> </td> </tr> <tr> <td> <label for="phone">Телефон</label><br /> <input id="phone" name="phone" type="text" size="25" /><br /><br /> </td> <td> <label for="email">Электронная почта</label><br /> <input id="email" name="email" type="text" size="25" /><br /><br /> </td></tr> </table> <label for="text">Текст сообщения</label><br /> <textarea id="text" name="text" rows="3" cols="44"></textarea><br /><br /> <div class="g-recaptcha" data-sitekey=" ************ "></div> <br /> <input id="submit" type="submit" class="big" value="Отправить" /> </form> </div> Пробовал поставить captcha от Google Действовал по инструкции https://webdesign.tutsplus.com/ru/t...-captcha-recaptcha-in-your-website--cms-23024 дошёл до шага 4 Так вот суть вопроса в том, а как действовать дальше? Как куда вставлять код для проверки captcha с шага 4 инструкции. Сайт разрабатывался не мной, если бы в action="/form/feedback/submit" стоял переход на следующий php файл, то там было бы просто. <form id="kodeksForm" action="/form/feedback/submit" method="post" onsubmit="return sendForm('kodeksForm', 'errMsg', 'submit');"> Но сайт сделан на codeIgniter 2.0 - там сложно понять, куда можно поместить проверку, ведь судя по action="/form/feedback/submit" ссылка идёт на саму же эту страницу. Не могли бы помочь, подсказать? И второе, а может при приведённом коде - есть более простое готовое решение для captcha, а не captcha от Google?
в экшн целый пхп файл? На фантазию не жаловался никогда но ты загнал меня в тупик... Про контроллеры читал?
ТС,чисто твой пример по статье action.php PHP: require_once "recaptchalib.php"; $secret = "твой ключ"; // пустой ответ $response = null; // проверка секретного ключа $reCaptcha = new ReCaptcha($secret); if ($_POST["g-recaptcha-response"]) { $response = $reCaptcha->verifyResponse( $_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"] ); if ($response != null && $response->success) echo "Hi " . $_POST["name"] . " (" . $_POST["email"] . "), thanks for submitting the form!"; } else { echo 'Упс,вы не ввели капчу'; } index.php PHP: <!DOCTYPE html> <html lang="en"> <head> <title>How to Integrate Google “No CAPTCHA reCAPTCHA” on Your Website</title> </head> <body> <form action="action.php" method="post"> <label for="name">Name:</label> <input name="name" required><br /> <label for="email">Email:</label> <input name="email" type="email" required><br /> <div class="g-recaptcha" data-sitekey="6LceMxUUAAAAAKRszuqscsmGBcbZI5cLQVbpFK7A"></div> <input type="submit" value="Submit" /> </form> <!--js--> <script src='https://www.google.com/recaptcha/api.js'></script> </body> </html> О безопасности только не забудь позаботиться
Большое спасибо за помощь! В ближайшее время попробую и сообщу, получилось ли выполнить action="action.php" и при этом остаться на этой же странице ( http://kodeks.karelia.ru/lib/show/13 ). Чуть попозже сообщу.
Итак, только что сделал. Поставил так: <form id="kodeksForm" action="action.php" method="post" onsubmit="return sendForm('kodeksForm', 'errMsg', 'submit');"> Файл action.php создал (он и ещё файл recaptchalib.php) оба находятся в текущей папке. Вот как выглядит созданный файл action.php: Код (Text): <?php require_once "recaptchalib.php"; $secret = " ***** для форума код удалил ************* "; // пустой ответ $response = null; // проверка секретного ключа $reCaptcha = new ReCaptcha($secret); if ($_POST["g-recaptcha-response"]) { $response = $reCaptcha->verifyResponse( $_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"] ); } if ($response != null && $response->success) { echo "Hi " . $_POST["name"] . " (" . $_POST["email"] . "), thanks for submitting the form!"; } else { echo 'Упс,вы не ввели капчу'; } ?> Так вот - при нажатии кнопки "Отправить" в браузере открывается пустая страница и выводится в ней счётчик посещений! Полная загадка откуда он там может взяться??? Письмо не отправляется в любом случае (хоть правильно, хоть не правильно введена captcha). ... Хотя есть предположение, что файл action.php не выполняется вообще, а codeIgniter каким-то образом перенаправляет запрос вместо action.php вообще не понять куда и непонять как открывается пустая страница со одиночным счётчиком посещений. Попробуйте нажать кнопку Отправить со страницы http://kodeks.karelia.ru/lib/show/13