Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 17.06.2013, 16:45
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от Nailya
этот не помогает, у меня все перестает работать
В оснувную страницу (page.php) тоже необходимо прописать session_start().
Ответить с цитированием
  #12 (permalink)  
Старый 17.06.2013, 16:54
Аватар для Nailya
Кандидат Javascript-наук
Отправить личное сообщение для Nailya Посмотреть профиль Найти все сообщения от Nailya
 
Регистрация: 05.04.2013
Сообщений: 135

я решила методом ajax делать, этот вариант более подходящий, просто не пойму как вытаскивать из php значение сессии для ajax
Ответить с цитированием
  #13 (permalink)  
Старый 17.06.2013, 16:57
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Вы отправляете цифры или что там у вас, которое ввел пользователь. пхп скрипт проверяет это значение с сессией, если они совпадают верните например echo 'ok', если нет echo 'no'
В функции которая принимает ajax ответ проверьте это значение, и от него уже дальше пляшите.
Ответить с цитированием
  #14 (permalink)  
Старый 17.06.2013, 17:13
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

captcha_image.php:
session_start(); 
header('Content-Type: image/png');
$alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
for($i=0; $i<5; $i++) $secret.= $alpha[rand(0,strlen($alpha)-1)];
$_SESSION['secret'] = $secret;
$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,$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);
imagepng($image);
imagedestroy($image);


test_ajax.php:
session_start();
if($_POST['secret'] && $_POST['secret'] == $_SESSION['secret']) echo 1;


page.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ без названия</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.1.min.js"></script>
</head>

<body>
<img alt="" src="captha_image.php" />
<input id="secret" maxlength="5" type="text" />
<input onclick="test()" type="button" value="Проверить" />

<script type="text/javascript">
function test()
{
   $.post('test_ajax.php', {secret: $('#secret').val()}, function(a)
   {
      alert(a ? 'Всё верно!' : 'Неправильный код безопасности!');
   });
}
</script>
</body>
</html>
Ответить с цитированием
  #15 (permalink)  
Старый 17.06.2013, 17:23
Аватар для Nailya
Кандидат Javascript-наук
Отправить личное сообщение для Nailya Посмотреть профиль Найти все сообщения от Nailya
 
Регистрация: 05.04.2013
Сообщений: 135

1) вот в otzyvy.php я проверила это условие,только при загрузки страницы, он мне сразу выдает, что "Введено неправильное число!"

if($_POST['secret'] == $_SESSION['secret']) {
			echo "OK";
			
			}
		else if($_POST['secret'] != $_SESSION['secret'])
			{
			echo "Введено неправильное число!";
			}


2)функции, которая принимает ajax ответ, выдает мне полную страницу php, а как мне получить только значение сессии
Ответить с цитированием
  #16 (permalink)  
Старый 17.06.2013, 17:26
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Nailya, второй if не нужен. session_start() указан?
Ответить с цитированием
  #17 (permalink)  
Старый 17.06.2013, 17:43
Аватар для Nailya
Кандидат Javascript-наук
Отправить личное сообщение для Nailya Посмотреть профиль Найти все сообщения от Nailya
 
Регистрация: 05.04.2013
Сообщений: 135

да указан
Ответить с цитированием
  #18 (permalink)  
Старый 17.06.2013, 17:49
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Сообщение от Nailya
2)функции, которая принимает ajax ответ, выдает мне полную страницу php, а как мне получить только значение сессии
Сделайте отдельный файл, который будет только проверять капчу. Или пропишите die после условий.
Ответить с цитированием
  #19 (permalink)  
Старый 17.06.2013, 17:57
Аватар для Nailya
Кандидат Javascript-наук
Отправить личное сообщение для Nailya Посмотреть профиль Найти все сообщения от Nailya
 
Регистрация: 05.04.2013
Сообщений: 135

я вас уже всех замучила, ничего у меня не получается, остается только с горя напиться(
Ответить с цитированием
  #20 (permalink)  
Старый 17.06.2013, 18:04
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Nailya, я уже дал выше рабочий вариант с ajax.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Развитие стандарта HTML Paguo-86PK Элементы интерфейса 104 14.12.2015 21:58
как сделать что бы при открытии страницы сразу открылось большое фото oksanaweb Общие вопросы Javascript 1 05.06.2013 02:17
Как ввести в поле ввода значение где есть javascript MOZG Общие вопросы Javascript 8 19.04.2013 10:28
Как узнать что полоса прокрутки коснулся самого низа Грабовский Элементы интерфейса 3 15.01.2012 14:33
http://gigalit.info - Мои контакты Маэстро Ваши сайты и скрипты 70 08.12.2011 03:12