ďťż
Podstrony
|
telcocafew ostatnim numerze taki skrypt był w dziale programowania<?php include("config.php"); session_start(); session_register("status_uzyt"); echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; echo "<html><head>"; echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\" />"; echo "<meta http-equiv=\"content-language\" content=\"pl\">"; echo "<title>Prosta strona ze skryptem logowania</title>"; echo "<style>"; echo "p {margin: 20px; background-color: #efefef;}"; echo "</style>"; echo "<body>"; function pokaz_okno_log() { echo "<p>"; echo "<form name=\"logowanie\" action=\"index.php\" method=\"post\">"; echo "Login: <input type=\"text\" name=\"login\"><br>"; echo "Hasło: <input type=\"password\" name=\"haslo\"><br>"; echo "<input type=\"hidden\" name=\"strona\" value=\"sprawdz\">"; echo "<input type=\"submit\" value=\"Zaloguj\">"; echo "</p>"; } // Na początku skryptu najlepiej jest sprawdzić czy zmienna nie zawiera // żadnych danych - jeżeli nie zawiera możemy nadać jej naszą wartość // zabraniającą dostępu do strony if(empty($_SESSION['status_uzyt'])) { $_SESSION['status_uzyt'] = "0"; } // Pobieramy zmienną, która decyduje o tym, jaka strona jest wyświetlana if($HTTP_POST_VARS["strona"] == "") { $strona = $HTTP_GET_VARS["strona"]; } else { $strona = $HTTP_POST_VARS["strona"]; } // Sprawdzamy zawartość zmiennej $strona i wywołujemy odpowiednią akcję skryptu if($strona == "") { // Zmiennna nie została ustawiona czyli skrypt został wywołany bez niej. // Wyświetlamy więc stronę główną z możliwością przejścia do strony ukrytej echo "<p>To jest strona główna serwisu. Istnieją jeszcze trzy strony, lecz są one przeznaczone wyłącznie dla zalogowanych użytkowników: <a href=\"index.php?strona=superadministrator\">Superadministratora</a>, <a href=\"index.php?strona=administrator\">Administratora</a> i <a href=\"index.php?strona=uzytkownik\">Użytkownika</a>.</p>"; if($_SESSION['status_uzyt'] == 0) { pokaz_okno_log(); } } elseif($strona == "zaloguj") { pokaz_okno_log(); } elseif($strona == "sprawdz") { include("./uprawnienia.php"); for($i=0;$i<count($Uzytkownik);$i++) { $UzytkownikDane[$i] = explode("|", $Uzytkownik[$i]); } // W tym miejscu srpawdzamy czy użytkownik podał odpowiednie dane w formularzu for($i=0;$i<count($Uzytkownik);$i++) { if($HTTP_POST_VARS["login"] == $UzytkownikDane[$i][0] && $HTTP_POST_VARS["haslo"] == $UzytkownikDane[$i][1]) { $_SESSION['status_uzyt'] = $UzytkownikDane[$i][2]; echo "<p>Gratuluję - zalogowałeś się na konto \""; echo $UzytkownikDane[$i][0]."\". Teraz możesz przejść do "; if($_SESSION['status_uzyt'] == 3) { echo "<a href=\"index.php?strona=superadministrator\">podstrony Superadministraotra</a> oraz do "; echo "<a href=\"index.php?strona=administrator\">podstrony Administraotra</a>, a także do "; echo "<a href=\"index.php?strona=uzytkownik\">podstrony Użytkownika</a> "; } elseif($_SESSION['status_uzyt'] == 2) { echo "<a href=\"index.php?strona=administrator\">podstrony Administraotra</a> oraz do "; echo "<a href=\"index.php?strona=uzytkownik\">podstrony Użytkownika</a> "; } elseif($_SESSION['status_uzyt'] == 1) { echo "<a href=\"index.php?strona=uzytkownik\">podstrony Użytkownika</a> "; } } } if($_SESSION['status_uzyt'] == 0) { // Jeżeli użytkownik podał nieprawidłowe dane, wówczas ustalamy wartość zmiennej // na 0, wyświetlamy odpowiedni komunikat i pokazujemy okno do logowania $_SESSION['status_uzyt'] = 0; echo "<p>Logowanie nieudane. Spróbuj jeszcze raz.</p>"; pokaz_okno_log(); } } elseif($strona == "wyloguj") { // W tym miejscu wylogowujemy użytkownika. Wystarczy zmienną "$status_uzyt" ustawić // na wartość 0 i pokazać odpowiedni komunikat $_SESSION['status_uzyt'] = 0; echo "<p>Zostałeś wylogowany. Aby przejść na stronę główną <a href=\"index.php\">kliknij w tym miejscu</a>.</p>"; } elseif($strona == "superadministrator") { // Strona dostępna tylko dla Superadministratora if($_SESSION['status_uzyt'] == 3) { echo "<p>Znajdujesz się na stronie dostępnej tylko dla Superadministratorów. <a href=\"index.php?strona=wyloguj\">Możesz się wylogować.</a></p>"; } else { echo "<p>Ta strona dostępna jest tylko dla zalogowanych użytkowników (Superadministratorów).</p>"; pokaz_okno_log(); } } elseif($strona == "administrator") { // Strona dostępna tylko dla administratora if($_SESSION['status_uzyt'] == 2 || $_SESSION['status_uzyt'] == 3) { echo "<p>Znajdujesz się na stronie dostępnej tylko dla Superadministratorów i Administratorów. <a href=\"index.php?strona=wyloguj\">Możesz się wylogować.</a></p>"; } else { echo "<p>Ta strona dostępna jest tylko dla zalogowanych użytkowników (Superadministratorów i Administratorów).</p>"; pokaz_okno_log(); } } elseif($strona == "uzytkownik") { // Strona dostępna tylko dla Użytkownika if($_SESSION['status_uzyt'] == 1 || $_SESSION['status_uzyt'] == 2 || $_SESSION['status_uzyt'] == 3) { echo "<p>Znajdujesz się na stronie dostępnej tylko dla Superadministratorów, Administratorów i zalogowanych Użytkowników. <a href=\"index.php?strona=wyloguj\">Możesz się wylogować.</a></p>"; } else { echo "<p>Ta strona dostępna jest tylko dla zalogowanych użytkowników.</p>"; pokaz_okno_log(); } } echo "</body>"; echo "</html>"; ?> dałem tutaj na początku include config.php w którym sa pierdy od bazy danych i inne tj polaczenie z bazą danych. Przerobi mi to ktoś tak ,żeby zamiast z uprawnienia.php brał login , hasło i poziom dostepu z mysql + plus zeby nie laczenie z baza tylko zeby wybral odpowiednia tabelke np users prosze o pomoc i z góry wielkie thx i pozdro ps.: jak coś to tutaj jest pokolorowana składnia http://phpfi.com/78905 Użytkownik lofix edytował ten post 18 wrzesień 2005, 15:31 1) Zrob to sam bylo poruszane 2) Podpowiedz: I. Pobieranie info uyztkownika z bazy (SELECT * FROM users WHERE login='$login' AND pass='pass') II. Utworzenie sesji Przyklad takowego logowania (Post na forum Eksperta) takie akurat bez wyboru poziomu uprawnienień to se możesz. Chodzi i o takie jak tutaj podałem,że wybierasz jeszcze poziom uprawnień a tutaj były poruszane tylko z na normalnego bez uprawnien systemu logowania taka z ciebie perdola ze nie mozesz dodac 2 czy 3 pol do tabeli i przerobic programista za 5 12 qurde niecfaniacz sie wogole poco tu piszesz skoro nie masz zamiaru pomóc ? Taki posty to mozesz sobie wsadzisz pajacu. Pomoze ktoś ? |
|||
Sitedesign by AltusUmbrae. |