Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> защита от спама 
:(
    Опции темы
Dmitry_177
Дата 22.1.2008, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



Решил хранить в сессии.. но тут я столкнулся с другой проблемой.. т.к. у меня картинка генерируется скриптом, то в теге <img> в src я прописал путь к скрипту, который генерирует сам код и потом выдает картинку.. так вот после генерации кода я записываю его в переменную, которая хранится в сессии.. и почему-то в главном скрипте, т.е. в котором генерируется сама форма и присутствует все тот же <img> эта переменная пустая..
PM MAIL   Вверх
GeneralElectric
Дата 22.1.2008, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



А откуда он там возьмётся-то? А, главное - зачем он там нужен?
Разве код тебе нужен при генерации формы, а не при её проверке?
PM MAIL   Вверх
Dmitry_177
Дата 22.1.2008, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



Цитата

Разве код тебе нужен при генерации формы, а не при её проверке?


у меня все в одном файле сделано.. генерится форма скриптом, а потом значения из нее передаются в этот же скрипт..

Это сообщение отредактировал(а) Dmitry_177 - 22.1.2008, 01:03
PM MAIL   Вверх
GeneralElectric
Дата 22.1.2008, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Неважно, сколько файлов. разницы никакой - один файл или 10. 
Зачем тебе нужен код при генерации формы?
PM MAIL   Вверх
Dmitry_177
Дата 22.1.2008, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



Цитата

Зачем тебе нужен код при генерации формы?


при генерации да.. не нужен.. а при проверке нужен..
PM MAIL   Вверх
GeneralElectric
Дата 22.1.2008, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



При проверке он есть? Как проверяешь? Сессию стартуешь? Совпадает ли идентификатор? Для надежности, чтобы не полагаться на куки, можно сессию стартовать и при генерации формы, а идентификатор передать в картинку GET-ом, а в проверку - hidden полем.
Тогда все должно работать 100%

Вообще, если проблемы с сессией, то читай тут: PHP FAQ: Сессии. Возможные проблемы и их устранение.
PM MAIL   Вверх
Dmitry_177
Дата 22.1.2008, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



Цитата

При проверке он есть?

в этом то весь и косяк что нету.. выводил на экран - пусто..

Цитата

Как проверяешь?

ну как.. оператором сравнения..smile

Цитата

Сессию стартуешь? Совпадает ли идентификатор?

идентификатор не пробовал.. незнаю как это сделать.. но я и в основном скрипте и в скрипте генерации картинки стартую сессию и регистрирую переменную..
PM MAIL   Вверх
GeneralElectric
Дата 22.1.2008, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Не надо ничего регистрировать.
прочитай по ссылке, как работать с сессиями.
потом напиши тестовый скрипт, а точнее - два, где значение из одного в другой передаетя сессией.
потом, когда все заработает - переноси в свой скрипт.
PM MAIL   Вверх
GeneralElectric
Дата 22.1.2008, 01:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



1. при генерации формы, до всего вывода
session_start();

к картинке обращаешься, как <img src=captcha.php?<? echo session_name().'='.session_id()?>>

в форму добавляешь поле
<input type="hidden" name="<? echo session_name()?>" value="<? echo session_id()?>">

2. в скрипте картинки пишешь 
session_start();
$_SESSION['captchacode']=$code;

3. в скрипте проверки пишешь 
session_start();
$code=$_SESSION['captchacode'];

4. всё.

Это сообщение отредактировал(а) GeneralElectric - 22.1.2008, 09:12
PM MAIL   Вверх
Dmitry_177
Дата 24.1.2008, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



Как я делал тоже заработало.. я всеголишь $HTTP_SESSION_VARS заменил на $_SESSION и все..

Цитата

Не надо ничего регистрировать.

не пойму.. почему ненадо? $_SESSION['captchacode'] ненадо разве регистрировать так:
Код

session_register('captchacode');

???
PM MAIL   Вверх
GeneralElectric
Дата 24.1.2008, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



НЕТ
PM MAIL   Вверх
Dmitry_177
Дата 24.1.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



ок, у меня тогда еще один вопрос созрел.. а идентификатор сессии сам автоматически индивидуальный для каждого пользователя создается? что бы не получилось неожиданного перехлеста..
PM MAIL   Вверх
GeneralElectric
Дата 24.1.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



не получится
PM MAIL   Вверх
Dmitry_177
Дата 24.1.2008, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



а зачем мы "вручную" дописываем имя сессии к ссылке, если можно session.use_trans_sid=1 поставить? и это будет автоматически тогда дописываться..
PM MAIL   Вверх
GeneralElectric
Дата 25.1.2008, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Ну и нафига тебе эта борода на ВСЕХ сылках на странице?
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0520 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.