blzin107
Новичок
Помогите установить капчу, не могу реализовать проверку капчи.
Вообщем есть форма :
Код Captcha.php
Хочу установить капчу на ввод коментариев, соответстенно если капча введена правильно, то комментарий заполняется в БД и выводится ниже формы. Если нет, то выходит сообщение о неправильной капче.
В моем случае, правильно или неправильно введена капча коммент. записывается в БД и выводится. К
Как реализовать проверку конкретно на моем коде?
В инструкции написано, то проверка реализуется в comment.php
if($_POST['kapcha'] != $_SESSION['rand_code']) echo "Капча введена неверно";
else echo "Капча введена верно";
Напишите, пожалуйста, как это реализовать?
comment.php
Вообщем есть форма :
HTML:
<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:
?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
if($_POST['kapcha'] != $_SESSION['rand_code']) echo "Капча введена неверно";
else echo "Капча введена верно";
Напишите, пожалуйста, как это реализовать?
comment.php
PHP:
<?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"]);// Делаем реридект обратно
?>
Последнее редактирование: