![]() |
![]() |
-Code46- |
![]()
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 |
|
|
![]() |
-Code46- |
![]()
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) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 16:27 |