Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите пожалуйста разобраться с session
 
 автор: Elina   (06.12.2005 в 13:09)   письмо автору
 
 

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

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

написала простую программу голосования которая состоит из 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 файл -сообщение об выходе

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

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

даже после

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

ни id ни lots не стираются и можно вернуться назад и на тот же id проголосовать ещё раз

   
 
 автор: cernos   (06.12.2005 в 15:07)   письмо автору
 
   для: Elina   (06.12.2005 в 13:09)
 

Пожалуйста приведите скрипт!
Так не очень понятно, у вас в приведенных лстиннгах не приведены регистрации сессионных переменных!
Если у вас нет сессионных переменных, так зачем их унсетить!

Может вы считаете что $id это тоже самое что и $_SESSION['id'], то это не так, вам необходимо унсетить именно $id, т.е.

unset($id);
//и т.п.

   
 
 автор: Loki   (06.12.2005 в 15:29)   письмо автору
 
   для: Elina   (06.12.2005 в 13:09)
 

После окончания просто перезагрузите страницу:

<head><meta http-equiv="Refresh" content="0; url=адрес"></head>

   
 
 автор: Elina   (06.12.2005 в 16:36)   письмо автору
 
   для: Loki   (06.12.2005 в 15:29)
 

спасибо
но
<head><meta http-equiv="Refresh" content="0; url=адрес"></head>
не совсем подходит даёт возможность вернуться а потом делает Refresh


unset (id) тоже делала но увы
вот код
index.

<form action="entry.php"  method="post">
 ..........
<br><br> <input type="text"  name="tz"><br><br><br>
    <input  type="Submit" >



entry.php

"include "config.php";
global  $dbhost ,$dbuname, $dbpass,$dbname;

 session_start();
$name="guest";
$tz = $HTTP_POST_VARS['tz'];

  if (empty($tz))     // if tz is empty
  {
     ........
  }
  else
  {
         if(  is_numeric($tz)==TRUE)
         {
        
          $_SESSION['tz'] = $tz ;
            if (!mysql_pconnect($dbhost,$dbuname,$dbpass))  echo " Unable to conect ";
                mysql_select_db($dbname) or die ("Unable to select database "); 

                 $sql="select * from  p  WHERE    sTZ ='$tz' ";            
                  $st=mysql_query( $sql);

..........
     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>";



exitbye.php


 session_start();

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

 if(isset($_REQUEST['lots'])){
   $lots=$_REQUEST['lots'];

if($lots==1){......;}
if($lots==2)..........;}
if($lots==3){.............;} }
$_SESSION['tz']=0;
unset($tz);
unset($lots);
 unset($_SESSION['tz']); 
 unset($_SESSION['lots']); 
  
session_destroy(); 

   
 
 автор: Loki   (06.12.2005 в 17:48)   письмо автору
 
   для: Elina   (06.12.2005 в 16:36)
 

>даёт возможность вернуться а потом делает Refresh
Это как это? а где вы ее вставляете?

   
 
 автор: Elina   (07.12.2005 в 12:20)   письмо автору
 
   для: Loki   (06.12.2005 в 17:48)
 

в файле entry.php после

"<form action=exitbye.php  method=post><br>" 
.......
."</form>"   


ничего уже не произойдёт
следовательно возможность добавить

<head><meta http-equiv="Refresh" content="0; url=адрес"></head> 

в файл exitbye.php

если есть другой способ рада буду узнать

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования