[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с captcha
Jack_White
Всем привет, у меня такая проблема сделал капчу на локальном компе всё было ок, но выложил в инет и теперь когда первый раз приходишь на сайт и открываешь страницу регистрации(здесь прикручена капча) картинка не добавляется, а в адресной строке Get'ом id сессии
&PHPSESSID=a7f3062bb0539590f0536affacbb2d7a
. Но когда уходишь на другую страницу и возвращаешься работает нормально, может кто-нибудь с таким сталкивался...



Спустя 21 минута, 26 секунд (21.01.2012 - 11:39) Xes написал(а):
вероятно у тебя там идет чтото типа если сесия установленна тогда выполнить часть кода. Сотри это условия и сделай генерацую капчи влюбом случае.

Спустя 44 минуты, 17 секунд (21.01.2012 - 12:23) Jack_White написал(а):
Xes
Да нет, такой проверки нет. Не пойму почему появляется PHPSESSID в адресной строке думаю в этом проблема

Спустя 5 минут, 30 секунд (21.01.2012 - 12:29) GET написал(а):
Jack_White

Мне кажется просто так не может там появиться

Цитата
&PHPSESSID=a7f3062bb0539590f0536affacbb2d7a


мне кажется это туда куки вылазят, может что-то с обработчиком формы. Попадание на страницу регистрации через ссылку происходит?

Спустя 12 минут, 50 секунд (21.01.2012 - 12:42) Jack_White написал(а):
ну
Цитата (A.B.C. @ 21.01.2012 - 09:29)
Попадание на страницу регистрации через ссылку происходит?

Ты имеешь ввиду, как попадаю на страницу регистрации?
Насколько я знаю PHPSESSID появляется в Get если отключены куки и id сессии передается через get. Но куки не отключены, и когда второй раз прихожу то работает все.

Спустя 49 минут, 17 секунд (21.01.2012 - 13:31) Xes написал(а):
Давай каконить код посмотри...

Спустя 13 минут, 25 секунд (21.01.2012 - 13:44) Jack_White написал(а):
Вот вставка на странице входа, там просто html форма

...
<tr>
<td><label>
Введите текст:</label></td>
<td><img
src="captcha/captcha.php" id="captcha_img"><br><input type="text" name="captcha"></td>
...
</tr>


файл captcha.php:


...

Спустя 14 минут, 37 секунд (21.01.2012 - 13:59) Xes написал(а):
Элемент $_SERVER['HTTP_REFERER']
В элементе $_SERVER['HTTP_REFERER'] приводится адрес страницы, с которой посетитель пришёл на данную страницу.
Повсей видимости при вводе в строке адреса $_SERVER['HTTP_REFERER'] == null, или неопределеана вовсе, я точно не знаю как это состояние называется в глобальном массиве, но верояно null, т.к. echo $_SERVER['HTTP_REFERER'] не вызывает ошибки.
Вот этот кусок так попробуй написать.
if(preg_match($patt_enter, $_SERVER['HTTP_REFERER']))
{
$pic = 'noise_enter.jpg'; // фон картинки
$reg->getCaptcha(3, $pic, 'enter');
}
elseif(preg_match($patt_reg, $_SERVER['HTTP_REFERER']))
{
$reg->getCaptcha(6);
}
else
{
$pic = 'noise_enter.jpg'; // фон картинки
$reg->getCaptcha(3, $pic, 'enter');
}

Спустя 11 минут, 44 секунды (21.01.2012 - 14:11) Jack_White написал(а):
Xes
Да, спасибо, похоже что проблема с $_SERVER['HTTP_REFERER']... буду разбираться...
Вот только не пойму почему PHPSESSID появляется эт тож как-то взаимосвязано, т.к. она появляется как раз во время отсутствия картинки, а далее когда норм ее нет

Спустя 7 минут, 6 секунд (21.01.2012 - 14:18) Xes написал(а):
У тебя в самом первом файле на который ты входишь, из адресной строки, старт сесии есть? должен быть я думаю.

Спустя 13 минут, 13 секунд (21.01.2012 - 14:31) Jack_White написал(а):
да, там index.php к нему подключается config c session_start(), т.ч. сессия на всех страницах

Спустя 34 минуты, 20 секунд (21.01.2012 - 15:05) Jack_White написал(а):
Не работает т.к. p=e&PHPSESSID=c072dcc980508591c029c3e89415677d а шаблон $patt_enter = '|[p=e]$|i';
Так что все упирается в PHPSESSID

Спустя 20 минут, 13 секунд (21.01.2012 - 15:25) Xes написал(а):
Так ты убери долар.
$patt_enter = '#p=e#i';

Спустя 10 минут, 50 секунд (21.01.2012 - 15:36) Jack_White написал(а):
Xes
без доллара вообще не работала почему-то, я просто перенаправил страницу на нееже но без PHPSESSID, если она есть и заработала)))
Всем спасибо, особенно Xes помог разобраться)))
Тема закрыта))

Спустя 8 минут, 20 секунд (21.01.2012 - 15:45) Xes написал(а):
Сори это же preg_match
$patt_enter = '#^.*p=e.*$#i';

Спустя 8 минут, 29 секунд (21.01.2012 - 15:53) Jack_White написал(а):
)))
Быстрый ответ:

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