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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите пожалуйста разобраться с session, с кодом - session 
:(
    Опции темы
Elina
  Дата 6.12.2005, 13:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Доброго времени суток,

помогите пожалуйста разобраться

написала простую программу голосования которая состоит из 3 файлов
1 файл - вход - надо ввести id

2 файл -вопросы и кнопка
Код


session_start();
$id = $HTTP_POST_VARS['id'];
.................
echo"<center>"  
. "<form action=exitbye.php  method=post><br>"
."<input  type=radio name=lots  value=1> ответ 1<br>"
."<input  type=radio  name=lots  value=2>  ответ2<br>"
."<input  type=radio name=lots value=3>  ответ3<br>"
."<br><br><input type=submit value=Submit>"                            
."</form>"            
."</center>";



3 файл -сообщение об выходе
Код




[code=cpp]
     session_start();
    $lots = $HTTP_POST_VARS['lots'];
...........
   unset($_SESSION['id']);
   unset($_SESSION['lots']);
  
  session_destroy();

[/code]

вопрос как сделать так чтобы после перехода на 3 файл нельзя было вернуться назад ни на 1-ый ни на 2-ой

даже после

Код

 unset($_SESSION['id']);
   unset($_SESSION['lots']);
  
  session_destroy();


ни id ни lots не стираются и можно вернуться назад и на тот же id проголосовать ещё раз
  Вверх
-=Ustas=-
Дата 6.12.2005, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Покажи как у тебя регистрируются пеменные сессии.

Это сообщение отредактировал(а) -=Ustas=- - 6.12.2005, 13:26


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Guest
Дата 6.12.2005, 13:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











2 файл -вопросы и кнопка
Код

session_start();
$id = $HTTP_POST_VARS['id'];
[b]$_SESSION['lots'] = $lots ;/b]


3 файл -сообщение об выходе
Код

session_start();
$lots = $HTTP_POST_VARS['lots'];
[b]$_SESSION['lots'] = $lots ;[/b]


первый раз работаю с сесией и вообще первая моя программа
если я не ошибаюсь регистрируются пеменные так
Код

$_SESSION['lots'] = $lots ;
..........
$_SESSION['lots'] = $lots ;


  Вверх
Elina
Дата 6.12.2005, 13:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











забыло написать имя

2 файл -вопросы и кнопка

Код
[code=php]


session_start();
$id = $HTTP_POST_VARS['id'];
[b]$_SESSION['lots'] = $lots ;/b]
[/code]

3 файл -сообщение об выходе

Код

session_start();
$lots = $HTTP_POST_VARS['lots'];
[b]$_SESSION['lots'] = $lots ;[/b]


первый раз работаю с сесией и вообще первая моя программа
Код

$_SESSION['lots'] = $lots ;
..........
$_SESSION['lots'] = $lots ;

если я не ошибаюсь регистрируются пеменные так

  Вверх
z-END
Дата 6.12.2005, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

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



Цитата(Elina @ 6.12.2005, 13:19)
как сделать так чтобы после перехода на 3 файл нельзя было вернуться назад ни на 1-ый ни на 2-ой

может стоит запретить кэширование страницы?
Код

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");



--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Elina
Дата 6.12.2005, 14:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");


добавила в 3-ий файл и выдаёт
Warning: Cannot modify header information - headers already sent by (output started at /exitbye.php:5)
  Вверх
z-END
Дата 6.12.2005, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

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



это надо вставлять в самый верх скрипта т.е. до того момента пока не производился вывод информации.


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Elina
Дата 6.12.2005, 14:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











перенесла вверх не кричит но по прежнему есть возможность возращаться назад
  Вверх
z-END
Дата 6.12.2005, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

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



Цитата(Elina @ 6.12.2005, 14:50)
перенесла вверх не кричит но по прежнему есть возможность возращаться назад

а на всех страницах?!


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Elina
Дата 6.12.2005, 15:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











да на всех страницах
но всё равно можно переходить вперёд и назад

что делать
  Вверх
Dave
Дата 6.12.2005, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Elina @ 6.12.2005, 13:19)
вопрос как сделать так чтобы после перехода на 3 файл нельзя было вернуться назад ни на 1-ый ни на 2-ой


для того чтобы нельзя было вернуться на 1 и 2 страницу значит нужно сделать проверку чего то на этих страницах, если чего то нет значит не пускать.

Т.е. в начале работы твоей системы заведи в сессии переменную, флаг, присвой ей значение, например 1, а в конце присвой ей значение 0, там где надо проверяй , если 1 то пускаем на страницу, если 0 то не пускаем. Все просто.


Цитата(Elina @ 6.12.2005, 15:56)
что делать


отлаживать. Выводи на экран все данные и смотри что не так.

Это сообщение отредактировал(а) Dave - 6.12.2005, 17:18
PM MAIL   Вверх
Elina
Дата 7.12.2005, 11:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











спасибо
попробывала завела флаг ,но дело втом что при переходе назад впрёд не загружется файл занова (следовательно нет возможности для проверок ) а загружается уже использованный(с выбранным ответом)

как от этого избавиться ?


  Вверх
z-END
Дата 7.12.2005, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

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



Цитата(Elina @ 7.12.2005, 11:57)
как от этого избавиться ?

1. запретить кэширование (Как показано выше)
2. использовать проверку флага (как сказал Dave)
если это не работет значит где-то глюк..


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Elina
Дата 7.12.2005, 12:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
1. запретить кэширование (Как показано выше)
2. использовать проверку флага (как сказал Dave)

если это не работет значит где-то глюк..


где искать глюк.

  Вверх
Dave
Дата 7.12.2005, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Elina @ 7.12.2005, 11:57)
попробывала завела флаг ,но дело втом что при переходе назад впрёд не загружется файл занова (следовательно нет возможности для проверок ) а загружается уже использованный(с выбранным ответом)

А можно попросить у вас кусок кода который проверят флаг ?
Мне интересно что вы делаете в случае если флага нет или он невалидный.

Elina, вы продумали что должно быть если человек пытается зайти на запрещенную страницу ?

Это сообщение отредактировал(а) Dave - 7.12.2005, 13:59
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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