[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как сравнить сессию и то, что введено в поле для
Nailya
Всем доброго время суток!
У меня капча и поле , куда ввожу символы на картинке.
Создала для нее валидацию на 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);

Быстрый ответ:

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