Всем доброго время суток!
У меня капча и поле , куда ввожу символы на картинке.
Создала для нее валидацию на php, то есть, если кнопка нажата и введенное в поле совпадает с тем, что в сессии,значит все верно,а
если не совпадают, то неверно. Но у меня еще валидация для всей формы на js и мне нужно ее переделать, чтобы там добавилась валидация для капчи, конкретно такая же как и на php.
Вопрос как можно ее прописать на js?
Вот валидация php конкретно для капча:
if(isset($_POST['button'])){
if($_POST['secret'] == $_SESSION['secret']) {
echo $_POST['secret'];
echo $_SESSION['secret'];
}
else if($_POST['secret'] != $_SESSION['secret'])
{
echo "Введено неправильное число!";
}
}
Вот валидация на js для всей формы:
function moderation_0()
{
alert((document.getElementById('comment').value != '' && document.getElementById('secret').value != '') ? 'Спасибо, Ваш комментарий отправлен на модерацию.' : 'Поля ввода текста не заполнены.');
}
вот весь код php+html
otzyvy.php:
if(isset($_POST['button'])){
if($_POST['secret'] == $_SESSION['secret']) {
echo $_POST['secret'];
echo $_SESSION['secret'];
}
else if($_POST['secret'] != $_SESSION['secret'])
{
echo "Введено неправильное число!";
}
}
<span>Имя</span>
<form action="otzyvy.php" method="POST">
<input class="author" id="author" type="text" name="author"/><br/>
<span>Отзыв</span><br />
<textarea class="com" id="comment" name="comment" cols="30" rows="8"></textarea><br />
<?php include ('index.php'); ?><br />
<input class="button" name="button" type="submit" onclick="moderation_0()" value="Отправить" />
капча
index.php
<?php
session_start();
// набор символов
$alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$secret = "";
// формируем строку из 5 символов, которая будет отображаться на картинке
for($i=0; $i<5; $i++)
{
$secret.= $alpha[rand(0,strlen($alpha)-1)];
}
// сохраняем сгенерированную строку в переменной сессии
$_SESSION['secret'] = $secret;
echo $_SESSION['secret'];
?>
Введите число на картинке:<br /><input type="text" id="secret" name="secret" size="10"><br />
<img src="img.php"><br />
картинка для капча
img.php
session_start();
//Рисуем
//Устанавливаем тип содержимого
//Устанавливаем сообщения об ошибках
header('Content-Type: image/png');
$image = imagecreate(80,31);
//Выбираем цвет фона
$grey = imagecolorallocate($image, 246,246,246);
$red = imagecolorallocate($image, 255, 0, 0);
$color = imagecolorallocate($image, 0, 0, 255);
imagestring($image,5,10,7,$_SESSION['secret'],$color);
//Оси координат
imageline ($image, 20,0,80,3, $red);
imageline ($image, 0,10,50,0, $red);
imageline ($image, 90,5,40,31, $red);
imageline ($image, 0,31,70,0, $red);
//Сохраняем файл в формате png и выводим его
imagepng($image);
//Чистим использованную память
imagedestroy($image);