Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][mysl] wygaśnięcie sesji po kliknięciu Wstecz w IE
majorsk8
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.10.2008

Ostrzeżenie: (0%)
-----


Witam,
Mam 3 strony, gdzie
1. index.html -> logowanie do strony, login i haslo metodą POST
2. index2.php -> rozpoczęcie sesji session_start(), odczytanie wartości login i haslo z index.html, zapisanie ich do zmiennej sesji, nawiązanie połączenia z bazą
3. edit.php -> odczytanie zmiennych sesji, ponowne połączenie z bazą (nie wiem czy dobrze..)

Wszystko jest ok w Mozilli, sesja jest aktywna ale problem tkwi w IE. Po zalogowaniu przechodze do index2.php i wyświetla mi sie lista zamówień, klikam na zamówienie i przechodze do edit.php, następnie jak klikam Wstecz w IE aby przejść znowu do listy zamówień to wyskakuje błąd strony.
Nie wiem czy to pomoże ale załączam kod:
INDEX2.PHP
Kod
<?php
if (($_POST['login']!=NULL) and ($_POST['haslo'])!=NULL)
  {
    session_start();
    $login=(trim($_POST['login']));
    $haslo=(trim($_POST['haslo']));
    
    $_SESSION['login']= $_POST['login'];
    $_SESSION['haslo']= $_POST['haslo'];

    $connect = mysql_connect("", $login, $haslo)
    or die('Niepoprawny login lub hasło. Proszę poprawnie wpisać login i hasło. <a href="index.html">Powrót</a> na strone logowania.');
    mysql_set_charset('latin2',$connect);
    $_SESSION['connect']= $connect;
    
    $db = mysql_select_db('sezam',$connect)
    or die('Nie udało się połączyć z bazą danych. Proszę skontaktować się z administratorem.');
    $_SESSION['db']= $db;

    echo '<html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
          </head>
          </html>';

    include 'userinfo.php';  //info usera
    include 'moduly.php';  //tutaj wyciąga liste zamówień z bazy i po kliknięciu na dane zamówienie przechodzi do edit.php

  }

else
{
    echo "Nie wpisano loginu lub hasła. Proszę wrocić na <a href=index.html>stronę logowania</a>.";
}
?>


EDIT.PHP
Kod
<?php
session_start();
$connect = mysql_connect("", $_SESSION['login'], $_SESSION['haslo']);
$db = mysql_select_db('sezam');
if(isset($_POST['edytuj'])) {
echo "edycja zamowienia";
}
else echo "jakiś error";
?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Olimpia_ona
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 10.03.2005
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


Spróbuj w pliku index2.php funkcję session_start(); umieścić na samym początku tego pliku a nie w warunku, który sprawdza, czy istnieją zmienne POST.
Go to the top of the page
+Quote Post
majorsk8
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.10.2008

Ostrzeżenie: (0%)
-----


Nic nie daje. Może problem tkwi w samej przeglądarce?
Go to the top of the page
+Quote Post
Olimpia_ona
post
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 10.03.2005
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


Cytat(majorsk8 @ 6.11.2008, 11:09:06 ) *
Nic nie daje. Może problem tkwi w samej przeglądarce?


Ja bym tu nie zrzucała od razu winy na przeglądarkę. Generalnie masz zamieszany kod.

1. $_SESSION['login']= $_POST['login']; zakładasz już w chwili, gdy ktoś poda login i hasło, a powinienieś moim zdaniem wstrzymać się z tym do chwili, gdy sprawdzisz, że ten login i hasło występuje w bazie np.
  1. <?php
  2. if ($_POST['login'] and $_POST['haslo'])
  3. {
  4.       $sql = "SELECT * FROM klienci WHERE login = '$_POST[login]';";
  5.                $wynik = mysql_query ($sql) or die ("Błąd w zapytaniu");
  6.                $rekord = mysql_fetch_assoc($wynik);
  7.                $haslo=$rekord[haslo];
  8.    if (($haslo==(MD5($_POST[haslo]))) and ($_POST[haslo]<>'')) //sprawdzam, czy podane hasło jest takie samo jak hasło w bazie dla danego loginu
  9.                {
  10.               $_SESSION["zmiennalog"]=$_POST[login];
  11.                                                $ok=0;
  12.                                                ...
  13.                }
  14.                ...
  15. }
  16.  
  17. if (!$_SESSION["zmiennalog"])
  18. {
  19.  $ok=1; //print "Nie zalogowany";
  20. }
  21. else
  22. {
  23.  $ok=0; //print "Zalogowany";
  24. }
  25. ?>
Go to the top of the page
+Quote Post
majorsk8
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.10.2008

Ostrzeżenie: (0%)
-----


Nie o to chodziło ale tak czy siak dzięki za podpowiedź. Pomoże mi ktoś z ta SESJĄ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:57