есть капча....которая в скрипте вызывается:
<img src="<?php echo "kap.php?".rand(0,time())?>" />
внутри kap.php формируется переменная $_SESSION['k']
так вот сразу после вывода картинки в скрипт ее почему - то нет...но она появляется при повоторном запуске скрипта при чем с опозданием...т.е. картинка уже новая, а $_SESSION['k'] предыдущая. Не могу понять, что за эффект. При новом объявлении картинка третья, а $_SESSION['k'] вторая т.е. опаздвает от картинки на 1 раз.
kap.php:
if (!isset ($_SESSION))
{
session_start ();
}
error_reporting(E_ALL);
$image_p = @imagecreatetruecolor(150, 150);
$_SESSION['k']='';//правильный ответ
imagejpeg($image_p);//выводим капчу
проверочный скрипт 1.php:
if (!isset ($_SESSION)){session_start ();}
//показываем все ошибки
error_reporting(E_ALL);
$_SESSION['m']='m проходит, k-';
echo "<img src='kap.php?".rand(0,time())."'/>";
echo $_SESSION['m'];
if (isset($_SESSION['k']))echo'Ok';else echo'No';
Спустя 1 час, 54 минуты, 20 секунд (19.12.2011 - 05:46) Игорь_Vasinsky написал(а):
блин.. была такая история.. не помню как решил.....тоже с капчей...
Спустя 9 минут, 24 секунды (19.12.2011 - 05:55) GET написал(а):
Вот здесь нашел чего-то похожее, но ссылка на которую автор ссылается нерабочая:
http://otvety.google.ru/otvety/thread?tid=1390bca82711d3d0
http://otvety.google.ru/otvety/thread?tid=1390bca82711d3d0
Спустя 24 минуты, 50 секунд (19.12.2011 - 06:20) Guest написал(а):
Убери условие вокруг старта сессии!
Спустя 2 минуты, 34 секунды (19.12.2011 - 06:23) GET написал(а):
Guest
так?
нет не робит (в том, генераторе картинке тоже ставил и убирал...)
так?
session_start ();
//показываем все ошибки
error_reporting(E_ALL);
$_SESSION['m']='m-';
echo "<img src='cwapcha2.php?".rand(0,time())."'/>";
echo $_SESSION['m'];
if (isset($_SESSION['k']))echo'Ok';else echo'No';
нет не робит (в том, генераторе картинке тоже ставил и убирал...)
Спустя 7 минут, 55 секунд (19.12.2011 - 06:31) Guest написал(а):
Полностью файл покажи.
Спустя 1 минута, 26 секунд (19.12.2011 - 06:32) GET написал(а):
Guest
в первом верхнем посту выложил
в первом верхнем посту выложил
Спустя 2 минуты, 42 секунды (19.12.2011 - 06:35) inpost написал(а):
A.B.C.
А как ты убеждаешься, что сессия неправильная?
То есть нажимаешь обновить картинку, ПОТОМ отправляешь форму, и уже НА НОВОЙ СТРАНИЦЕ тебе пишется, что СЕССИЯ СТАРАЯ?
А как ты убеждаешься, что сессия неправильная?
То есть нажимаешь обновить картинку, ПОТОМ отправляешь форму, и уже НА НОВОЙ СТРАНИЦЕ тебе пишется, что СЕССИЯ СТАРАЯ?
Спустя 1 минута, 29 секунд (19.12.2011 - 06:36) GET написал(а):
Да...inpost именно так, при первом нажатии сессия с скрипта-картинки вообще не приходит, но потом при обновлении приходит "старый ответ"...а картинка уже другая
Спустя 1 час, 21 минута, 23 секунды (19.12.2011 - 07:58) twin написал(а):
Почсему
$_SESSION['m']='m-';определяется в файле с картинкой? Естественно она перезапишется.
Спустя 1 час, 36 минут, 44 секунды (19.12.2011 - 09:34) Гость_xes написал(а):
Есть сайт captcha.ru помоему я оттуда взял скрипт месяц назат на своей сайт прикрутил все прекрасно работает. Возми отуда.
Спустя 30 минут, 29 секунд (19.12.2011 - 10:05) sergeiss написал(а):
Цитата (A.B.C. @ 19.12.2011 - 04:51) |
но она появляется при повоторном запуске скрипта при чем с опозданием...т.е. картинка уже новая, а $_SESSION['k'] предыдущая |
Давай включим логику и подумаем.
1. Страница загружается в браузер. Капча еще не создана. А переменные $_SESSION уже есть!!!
2. Страница загрузилась, только затем формируется картинка для капчи. О-па... Получаем, что данные сессии внутри капчи сформировались позднее! Так что всё логично.
Тебе надо изменить логику, чтобы данные для капчи были известны ранее, еще до загрузки страницы в браузер. Как именно - подумай

Спустя 30 минут, 14 секунд (19.12.2011 - 10:35) GET написал(а):
sergeiss
Цитата |
1. Страница загружается в браузер. Капча еще не создана. А переменные $_SESSION уже есть!!! |
все правильно...есть да не те...а может их и нет...нужные переменные сессии появляются внутри скрипта генерирующие картинку
капча картинки вставляется в конец странички, внутри сформированны переменные сессии, почему после картинки я их не вижу?
Спустя 1 минута, 6 секунд (19.12.2011 - 10:36) GET написал(а):
twin
Цитата |
$_SESSION['m']='m-'; |
это другая переменная ..переменная внутри скрипта-капчи- $_SESSION['k']
Спустя 9 минут, 50 секунд (19.12.2011 - 10:46) Guest написал(а):
>почему после картинки я их не вижу?
Потому что весь скрипт уже на серваке отработан и отправлен тебе.
И только потом запускается скрипт kap.php формируя в браузере картинку.
sergeiss, правильно сказал.
Потому что весь скрипт уже на серваке отработан и отправлен тебе.
И только потом запускается скрипт kap.php формируя в браузере картинку.
sergeiss, правильно сказал.
Спустя 1 минута, 1 секунда (19.12.2011 - 10:47) sergeiss написал(а):
Цитата (A.B.C. @ 19.12.2011 - 11:35) |
капча картинки вставляется в конец странички, внутри сформированны переменные сессии, почему после картинки я их не вижу? |
Потому что я тебе уже написал чуть ранее: браузер сначала скачивает страницу, а потом уже начинает качать данные для картинок, указанные в ней. Поэтому тебе нужно пересмотреть логику работы с капчей:
Цитата (sergeiss @ 19.12.2011 - 11:05) |
Тебе надо изменить логику, чтобы данные для капчи были известны ранее, еще до загрузки страницы в браузер. |
Спустя 5 минут, 22 секунды (19.12.2011 - 10:52) GET написал(а):
sergeiss
ok...спасибо буду думать
ok...спасибо буду думать
Спустя 36 минут, 39 секунд (19.12.2011 - 11:29) sergeiss написал(а):
A.B.C. - ну так что, надумал? 
На самом деле, всё просто. Сначала ты определяешь все параметры капчи, затем записываешь этот параметр в сессию. А уже из капчи обращаешься к сессии, считываешь этот параметр, и показываешь правильную капчу.

На самом деле, всё просто. Сначала ты определяешь все параметры капчи, затем записываешь этот параметр в сессию. А уже из капчи обращаешься к сессии, считываешь этот параметр, и показываешь правильную капчу.
Спустя 16 минут, 9 секунд (19.12.2011 - 11:45) GET написал(а):
sergeiss
ну не получается...решил отказаться вообще от инклюда, а сделать капчу прямо в скрипте теперь дело в том, что картинка показвается в бинарном виде...т.е.
или
вылазит все в виде текста...
ну не получается...решил отказаться вообще от инклюда, а сделать капчу прямо в скрипте теперь дело в том, что картинка показвается в бинарном виде...т.е.
<img src="<?php imagejpeg($image_p);?>" />
или
<img src="<?php echo imagejpeg($image_p);?>" />
вылазит все в виде текста...
Спустя 2 минуты, 49 секунд (19.12.2011 - 11:48) GET написал(а):
sergeiss
посмотри пожалуйста мой первый пост...там два скрипта там ...$_SESSION['k'] как раз определяется до картинки
посмотри пожалуйста мой первый пост...там два скрипта там ...$_SESSION['k'] как раз определяется до картинки
Спустя 2 минуты, 21 секунда (19.12.2011 - 11:50) sergeiss написал(а):
A.B.C. - забудь про свою последнюю (и совершенно неправильную) идею
и вернись к тому, что ты начал делать раньше. Но с учетом того, что я говорил.

Спустя 1 минута, 29 секунд (19.12.2011 - 11:52) sergeiss написал(а):
Цитата (A.B.C. @ 19.12.2011 - 12:48) |
.там два скрипта там ...$_SESSION['k'] как раз определяется до картинки |
Да ну?

А это чьи слова???
Цитата (A.B.C. @ 19.12.2011 - 04:51) |
внутри kap.php формируется переменная $_SESSION['k'] |
Спустя 2 минуты, 38 секунд (19.12.2011 - 11:54) GET написал(а):
sergeiss
Блин...все верно...!...там просто капча мной придуманная ...все верно надо вынести вычисления за скрипт создания изображения...все даже проще вырисовывается!
спасибо!!!
Блин...все верно...!...там просто капча мной придуманная ...все верно надо вынести вычисления за скрипт создания изображения...все даже проще вырисовывается!
спасибо!!!
Спустя 57 секунд (19.12.2011 - 11:55) GET написал(а):
там массив просто ассоциативный надо разделить на два простых
Спустя 13 минут, 25 секунд (19.12.2011 - 12:09) GET написал(а):
sergeiss
Блин, а как предать в файл то эти вычисленые значения...сессии там не работают при подключении инклюдом
Блин, а как предать в файл то эти вычисленые значения...сессии там не работают при подключении инклюдом
Спустя 48 секунд (19.12.2011 - 12:10) GET написал(а):
в файл-где образуется imagejpeg($image_p);
Спустя 4 минуты, 11 секунд (19.12.2011 - 12:14) GET написал(а):
sergeiss
извини я дико затупил!...все в порядке...
))))) вторые сутки уже не сплю
извини я дико затупил!...все в порядке...

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.