Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie mogę skasować sesji, próbowałem wszystkiego :(
-Code46-
post
Post #1





Goście







Załóżmy, że mam 3 pliki (apache, php i mysql postawione na localhost):

index.php - zawiera formularz logowania (metoda POST), który wywołuje skrypt czyok.php

czyok.php - skrypt łączy się z bazą i sprawdza czy podany jest taki login i hasło jest poprawne. Jeśli nie to wracamy na stronę index.php. Jeśli login i hasło jest poprawne ładowany jest plik menu.php

menu.php - menu główne, z którego mogą być wywoływane inne skrypty. Menu służy do zarząrzania całym systeme, np. dodawanie danych do bazy, usuwania, edytowanie i wiele innych dla zalogowanego użytkownika.

logout.php - skrypt wylogowujący i ładujący strone index.php

Kod
<?
   session_unset();
   setcookie ('PHPSESSID','', time()-300,'/','',0); //zniszcz cookie
   session_destroy();
   header("location: main.php");
?>


Załóżmy, że zaloguje się do tego systemu a potem wyloguje. Kiedy zamknę przeglądarkę i otworzę ponownie, wpisze localhost/phpmyadmin/menu.php to pojawia się menu, i wyświetlany jest ostatnio zalogowany użytkownik. Można kasować dane z bazy, dodawać jednym słowem wszystko. A tak nie może być, bo po co wtedy hasło? Dopiero jak ręcznie usunę ciasteczko z przeglądarki to jest ok.

Pomóżcie - błagam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-Code46-
post
Post #2





Goście







To jest skrypt, który odbiera dane z formularza (logowania) i sprawdza login i hasło:
Kod
<!--Logowanie do systemu -->
<?
    session_start();
    include "config.inc.php";
?>

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

<meta name="pragma" content="no-cache" />

<title>Logowanie...</title>
<link rel="stylesheet" type="text/css" href="autoryzacja.css" />
</head>
<body>
<?
    //Połączenie z bazą danych
    $conn = mysql_connect($server, $identyfikator, $haslo)
     or die ("Nie udało się połączyć z bazą danych! BŁĄD: ".mysql_error());
    //Wybór bazy danych
    mysql_selectdb($baza)
     or die ("Nie udało się wybrać bazy! BŁĄD: ".mysql_error());

    //Zapytanie o login i hasło
    $query = "SELECT * FROM konto WHERE login='$_POST[logid]';";
    $result = mysql_query($query)
  or die ("Zapytanie nieudane! BŁĄD: ".mysql_error());
    $query_data = mysql_fetch_row($result);

  //Sprawdzenie czy podany login i hasło są poprawne
  if (MD5($_POST[pas]) == $query_data[2])
  {
     //Udana autoryzacja
     if ($query_data[3] == 0)
     {
    //Zapytanie o dane osoby zalogowanej z tabeli pracownika
    $query = "SELECT konto.konto_id, login, haslo, kto, imie, nazwisko FROM konto, pracownik ".
      "WHERE login='$_POST[logid]' AND konto.konto_id=pracownik.konto_id;";
    $result = mysql_query($query)
        or die ("Zapytanie nieudane! BŁĄD: ".mysql_error());
    $query_data = mysql_fetch_row($result);

    $_SESSION[uzytkownik] = $query_data[4] . " " . $query_data[5];
    $_SESSION[nick] = $query_data[1];
    header("location: start.php");
     }
     else
     {
     //Zapytanie o dane osoby zalogowanej z tabeli pracownika
    //Zapytanie o dane osoby zalogowanej z tabeli pracownika
    $query = "SELECT konto.konto_id, login, haslo, kto, imie, nazwisko FROM konto, klient ".
      "WHERE login='$_POST[logid]' AND konto.konto_id=klient.konto_id;";
    $result = mysql_query($query)
        or die ("Zapytanie nieudane! BŁĄD: ".mysql_error());
    $query_data = mysql_fetch_row($result);

    $_SESSION[uzytkownik] = $query_data[4] . " " . $query_data[5];
    $_SESSION[nick] = $query_data[1];
    header("location: start.php");
     }
  }
  else
  {
  // Zły login lub hasło
  ?>
  <br><br><br><br><br><br><br><br><br>
  <table width="80%" align="center" border="0" cellpadding="14">
     <tr>
    <td><h2 class="error">Podałeś zły login lub hasło!</h2></td>
     </tr>
     <tr>
    <br>
    <td align="center"><input type="Submit" Name="Button" Value="Wróć" onClick="location.href='main.php'"></h2></td>
     </tr>
  </table>
  <?
  }

    //Zamknięcie połączenia z bazą danych
    mysql_close($conn);
?>

</body>
</html>


Jeśli użytkownik podał dobry login i hasło uruchamiany jest plik start.php:
Kod
<!--Ramki-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

<meta name="pragma" content="no-cache" />

</head>
    <frameset cols="200,*" frameborder="yes" border="3">
  <frame src="menu.php" name="menu" scrolling="auto" noresize />
  <frame src="wizytowka.php" name="wizytowka" scrolling="auto" />
    </frameset>
<noframes>
</html>


Zawartość pliku logout.php już macie wyżęj. Najlepsze jest to, że pytałem się ludzi którzy pracują jako koderzy php i nie wiedzą co z tym zrobić (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 16:27