Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: код капчи в сессионной переменной

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Дима
Отправлено: 24 Мая, 2011 - 08:14:53
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




По нажатию на сабмит данные кода с картинки совпадают со значением сессионной переменной и весь скрипт работает правильно,
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. !strcmp($_POST["capcha"], $_SESSION['cap'])
  3.  

но захотелось сделать проверку до отправки формы по примеру как в яндексе, если пользователь вводит свой логин Кириллицей, сразу отображается предупреждение сменить раскладку клавиатуры. Проблема в том что до того нажал на сабмит, значение $_SESSION['cap'] не то, что на картинке даже после перезагрузки страници. Пробовал вывести значение $_SESSION['cap'] и $_POST["capcha"], они совпадают только по нажатию на сабмит.
 
 Top
Viper
Отправлено: 24 Мая, 2011 - 08:52:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Дима а вы ajax'ом сделайте предварительную проверку занятости логина. К примеру на onblur повешайте отправку, и если логин не занят и правильная раскадка, то выводите сообщение мол "все вжики-пуки" иначе "попробуйте ещё". А сессию и каптчу менять вам в этом случае не нужно будет.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ReniFerre
Отправлено: 24 Мая, 2011 - 09:35:52
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Viper пишет:
Дима а вы ajax'ом сделайте предварительную проверку занятости логина.


У меня вопрос по этому поводу. Если я правильно понимаю, аякс - технология основанная на ява скрипте. Если ява отключен, то и проверка работать не будет. Или как?
 
 Top
EuGen Администратор
Отправлено: 24 Мая, 2011 - 09:45:44
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Не будет. В этом случае остается лишь проверять, включен ли javascript и если нет, то реализовывать в обход (с отправкой формы, правильный вариант), или сообщать пользователю о невозможности отправки без javascript (неправильный вариант)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Дима
Отправлено: 24 Мая, 2011 - 16:23:25
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Viper, Вы не поняли, как это сделать я примерно знаю. И я имел ввиду не проверку логина, а при вводе 5 символов кода капчи появляется сообщение что код правильный или нет. Весь вопрос в том, почему значения сессии становится таким-же как и в самой капче только в момент нажатия на сабмит. Картинку передаю из файла капчи так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $_SESSION['cap'] = implode('',$arra);
  3. header("Content-type: image/jpeg");
  4.  

в файле, где капча отображается у меня так:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <a href="javascript:void(0);" onclick="document.getElementById('captcha').src='cap4a.php?rid='+Math.random();">
  3.  

js для перезагрузки капчи по клику на картинку. Делаю вывод сессии на экран:
echo $_SESSION['cap'];
и в этом выводе значение сессии совпадает с кодом самой капчи почему-то только по нажатию на сабмит. До клика отправки формы и после отправки - значения разные
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB