Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 21

Установка капчи

14.12.2016, 18:43. Показов 945. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите установить капчу, не могу реализовать проверку капчи.
Вообщем есть форма :
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form name="comment" action="comment.php" method="post">
  <p>
    <label>Имя:</label>
    <input type="text" name="name" />
  </p>
  <p>
    <label>Комментарий:</label>
    <br />
    <textarea name="t_comment" cols="100" rows="10"></textarea>
  </p>
  <p>
    <input type="hidden" name="page_id" value="1" />
<h5>Проверчный код</h5>
  <img src = "captcha.php" /><br>
  <input type = "text" name = "kapcha" />
    <input type="submit" value="Отправить" />
  </p>
</form>
Код Captcha.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
?php
    session_start();
    $string = "";
    for ($i = 0; $i < 5; $i++)
        $string .= chr(rand(97, 122));
    
    $_SESSION['rand_code'] = $string;
 
    $dir = "fonts/";
 
    $image = imagecreatetruecolor(170, 60);
    $black = imagecolorallocate($image, 0, 0, 0);
    $color = imagecolorallocate($image, 200, 100, 90);
    $white = imagecolorallocate($image, 255, 255, 255);
 
    imagefilledrectangle($image,0,0,399,99,$white);
    imagettftext ($image, 30, 0, 10, 40, $color, $dir."verdana.ttf", $_SESSION['rand_code']);
 
    header("Content-type: image/png");
    imagepng($image);
?>
Хочу установить капчу на ввод коментариев, соответстенно если капча введена правильно, то комментарий заполняется в БД и выводится ниже формы. Если нет, то выходит сообщение о неправильной капче.
В моем случае, правильно или неправильно введена капча коммент. записывается в БД и выводится. К
Как реализовать проверку конкретно на моем коде?
В инструкции написано, то проверка реализуется в comment.php
PHP
1
2
3
session_start();
if($_POST['kapcha'] != $_SESSION['rand_code']) echo "Капча введена неверно";
else echo "Капча введена верно";
Напишите, пожалуйста, как это реализовать?

Добавлено через 12 минут
comment.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
session_start(); // проверка капчи
if($_POST['kapcha'] != $_SESSION['rand_code']) echo "Капча введена неверно" exit();
else echo "Капча введена верно";
  /* Принимаем данные из формы */
  $name = $_POST["name"];
  $page_id = $_POST["page_id"];
  $t_comment = $_POST["t_comment"];
  $date = date('Y-m-d-H-i-s');
  $name = htmlspecialchars($name);// Преобразуем спецсимволы в HTML-сущности
  $t_comment = htmlspecialchars($t_comment);// Преобразуем спецсимволы в HTML-сущности
  $mysqli = new mysqli("bmw.ins", "root", "1234", "comment");// Подключается к базе данных
  $mysqli->query("INSERT INTO `coment` (`name`, `page_id`, `t_comment` , `date`) VALUES ('$name', '$page_id', '$t_comment', '$date')");// Добавляем комментарий в таблицу
  header("Location: ".$_SERVER["HTTP_REFERER"]);// Делаем реридект обратно
 
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2016, 18:43
Ответы с готовыми решениями:

Сессия капчи
Наткнулся на жосткий прикол. Написал скрипт капчи function cap() { session_start(); header('content-type:...

Реализация капчи
Добрый день, уважаемые жители форума. Не имею представления каким образом реализовать на php хотя бы простую капчу.

Обход капчи
Здравствуйте помогите разгадать гугл рекапчу на этом сайте https://api.fssprus.info/?demo она подгружается через функцию видимо...

4
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
14.12.2016, 20:00
Цитата Сообщение от novi4ek1 Посмотреть сообщение
if($_POST['kapcha'] != $_SESSION['rand_code']) echo "Капча введена неверно" exit();
Вообще в этой строке должна быть ошибка синтаксическая. Но ее нет. Потому что у вас отключён вывод ошибок видать.
PHP
1
2
3
if($_POST['kapcha'] != $_SESSION['rand_code']) {
           echo "Капча введена неверно"; exit(); // перед exit() должна была быть ;
}
0
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 21
14.12.2016, 20:07  [ТС]
С капчей разобрался, все работает.
Появилась новая проблема, как вывести запись, что если нет комментариев, то вывод записи "Коментариев нет"
Пробовал так:
PHP
1
if ($row["name"] = "" ) echo "Комментариев нет!";
Не работает.
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
14.12.2016, 20:18
Цитата Сообщение от novi4ek1 Посмотреть сообщение
if ($row["name"] = "" ) echo "Комментариев нет!";
PHP
1
if(is_null($row["name"])) echo '...';
0
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 21
14.12.2016, 20:22  [ТС]
Прописал код вот так, даже если нет комментариев, то нечего не выводит.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
  $page_id = $art_id;// Уникальный идентификатор страницы (статьи или поста)
  $mysqli = new mysqli("bmw.ins", "root", "1234", "comment");// Подключается к базе данных
  $result_set = $mysqli->query("SELECT * FROM `coment` WHERE `page_id`='$page_id'"); //Вытаскиваем все комментарии для данной страницы
  while ($row = $result_set->fetch_assoc()) {
    echo"<b>".$row["name"]."</b>: ".$row["t_comment"]."<br> Дата комментария: " .$row["date"]."<br>" ; //Вывод комментариев
    echo "<br />";
     if(is_null($row["name"])) echo 'Комментариев нет!';
  }
 
 
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.12.2016, 20:22
Помогаю со студенческими работами здесь

Вызов капчи в php
Нагуглила самую простую математическую капчу, искала именно такую. Код проще не бывает. &lt;!DOCTYPE html&gt; &lt;head&gt; ...

Обновление капчи или изображения
Здравствуйте друзья! У меня вопрос, как прописать функцию, чтобы она обновляла изображения. Похожая тема обсуждалась...

На локальном хостинге не выводится картинка капчи
Библиотеки вроде подключены правильно, все настроено. Но в панели разработчика написано &lt;img src=&quot;captcha.php&quot;&gt;==$0 В...

Не работает один из экземпляров Google-капчи на странице
Товарищи, такая проблема. Ставлю гуглокаптчу на сайт reklamavbatnaule.ru На ней есть две формы: &quot;рассчитать стоимость&quot; и...

Алгоритм защиты от брута, цифровой нечисти посредством капчи
Здравствуйте. Пишу свой сайт на php. Придумал свой не хитрый алгоритм залогиневания. 1) Пользователь вводит логин и пароль 2) Сверяем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru