ďťż
Podstrony
|
telcocafeSiemka na początku skrypt a później zrzut<? include("config.php"); function login_form() { echo '<form name="logowanie" id="logowanie" method="post" action="login.php"> <table width="250" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="100" nowrap="nowrap">Login:</td> <td width="150" colspan="3" nowrap="nowrap"><input name="login" type="text" class="login" id="login" size="20" /></td> </tr> <tr> <td height="1" colspan="4" nowrap="nowrap"></td> </tr> <tr> <td width="100" nowrap="nowrap">Haslo:</td> <td width="150" colspan="3" nowrap="nowrap"><input name="haslo" class="haslo" type="password" id="haslo" size="20" /></td> </tr> <tr> <td height="1" colspan="4" nowrap="nowrap"></td> </tr> <tr align="right"> <td colspan="4"><input type="hidden" name="cmd" value="sprawdz"><input class="loguj" type="submit" value="Zaloguj" /></td> </tr> <tr> <td height="1" colspan="4" nowrap="nowrap"></td> </tr> <tr> <td colspan="4"><ul> <li><a href="login.php?reg">Nie masz konta? zalóz</a> <b class="b">»</b></li> </ul></td> </tr> </table> </form>'; } if(empty($_SESSION['status_uzyt'])) { $_SESSION['status_uzyt'] = "0"; } // Pobieramy zmienna, która decyduje o tym, jaka cmd jest wyswietlana if($HTTP_POST_VARS["cmd"] == "") { $cmd = $HTTP_GET_VARS["cmd"]; } else { $cmd = $HTTP_POST_VARS["cmd"]; } // Sprawdzamy zawartosc zmiennej $cmd i wywolujemy odpowiednia akcje skryptu if($cmd == "") { // Zmiennna nie zostala ustawiona czyli skrypt zostal wywolany bez niej. // Wyswietlamy wiec strone glówna z mozliwoscia przejscia do strony ukrytej if($_SESSION['status_uzyt'] == 0) { login_form(); } } elseif($cmd == "zaloguj") { pokaz_okno_log(); } elseif($cmd == "sprawdz") { $query = mysql_query("SELECT * FROM uzytkownicy"); while($row = mysql_fetch_array($query) ) { $Uzytkownik[] = $row['login'].'|'.$row['haslo'].'|'.$row[ 'access']; $user = '<font color="'.$row['kolor'].'">'.$row['przedrostek' ].'<b>'.$row['login'].'</b></font>'; for($i=0;$i<count($Uzytkownik);$i++) { $UzytkownikDane[$i] = explode("|", $Uzytkownik[$i]); } // W tym miejscu srpawdzamy czy uzytkownik podal odpowiednie dane w formularzu for($i=0;$i<count($Uzytkownik);$i++) { if($HTTP_POST_VARS["login"] == $UzytkownikDane[$i][0] && md5($HTTP_POST_VARS["haslo"]) == $UzytkownikDane[$i][1]) { $_SESSION['status_uzyt'] = $UzytkownikDane[$i][2]; if($_SESSION['status_uzyt'] == 1 || $_SESSION['status_uzyt'] == 2 || $_SESSION['status_uzyt'] == 3) { echo 'Witaj '.$user.' - ( <a href="login.php?cmd=edytuj">Profil</a> '; if($_SESSION['status_uzyt'] == 2 || $_SESSION['status_uzyt'] == 3) { echo '<a href="mod.php">Mod CP</a> '; } if($_SESSION['status_uzyt'] == 3) echo '<a href="admin.php">Admin CP</a> '; } echo '<a href="login.php?cmd=wyloguj">wyloguj</a> ) '; } } } if($_SESSION['status_uzyt'] == 0) { // Jezeli uzytkownik podal nieprawidlowe dane, wówczas ustalamy wartosc zmiennej // na 0, wyswietlamy odpowiedni komunikat i pokazujemy okno do logowania $_SESSION['status_uzyt'] = 0; echo '<p>Logowanie nieudane. Spróbuj jeszcze raz.</p>'; login_form(); } } elseif($cmd == "wyloguj") { // W tym miejscu wylogowujemy uzytkownika. Wystarczy zmienna "$status_uzyt" ustawic // na wartosc 0 i pokazac odpowiedni komunikat $_SESSION['status_uzyt'] = 0; echo '<p>Zostales wylogowany. Aby przejsc na strone glówna <a href="login.php">kliknij w tym miejscu</a>.</p>'; } ?> loguje sie najpierw jako zwykły user jest spoko cacy (jego uprawnienia itp) i teraz wylogowywuje sie się (login.php?cmd=wyloguj) pokazuje mi sie formularz logowania teraz loguj sie jako moderator. PO zalogowaniu pokazuje 2-och usersów zalogowanych moderator i zwykły tyle ze sa obaj naraz z jednego kompa a ja chce tylko jeden naraz no i najgorsze jest to ze user dziedziczy po moderatorze jego prawa nastepnie sie wyloguje i zaloguje jako zwykly user i znowu widze 2 userów zalogowanych moda i zwykłego i tym razem moderator dziedziczy tylko prawa zwykłego usersa i tak samo jest z administrator na zrzucie załączonym poniżej możecie zobaczyć w tym ,że administrator jest zalogowany najpóźniej czyli wszyscy dziedziczą jego prawa http://img372.images...led1copy0gc.jpg jak zrobić zeby tylko jeden był naraz zalogowany ? Użytkownik dEz17 edytował ten post 12 październik 2005, 14:44 użyj zniszczenia sesji tutaj masz linkę http://pl2.php.net/m...ion-destroy.php PS: wyedytuj swój post i kod wrzuć w codebox a nie w code nic z sesjami byłem głupi i skopałem skrypt już sobie poprawiłem :P EOT Użytkownik dEz17 edytował ten post 12 październik 2005, 15:16 wrzuć mi te skrypty na maila j-mail@o2.pl oblookam i ci odeślę poprawionme. aha i załącz jeszcze schemat bazy danych już mam jest dobrze byles szybszy niz zdazylem edytować:P Poprostu zrobiłęm tak zrycie zeby wyswietlał wszystkie pokolei wyniki z bazy danych i tak na realu był tylko jeden zalogowany a ze bylo 4 usersow no to pokazywalo wszystkie loginy a prawa itp bralo z pierwszego jeszcze raz EOT |
|||
Sitedesign by AltusUmbrae. |