![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.07.2003 Skąd: Paradise Ostrzeżenie: (0%) ![]() ![]() |
Robie skrypt logowania oparty na sesjach i txt
oto pliki users.n - plik z userami dałem tam przypadkowych userów Kod Xmp3|+|pass|+|16|+|1
Aidy|+|password|+|13|+|2 Paluch|+|pa|+|12|+|3 Maxi|+|max|+|11|+|4 wygląda on tak pierwszy człon to nazwa usera drugi to hasło trzeci to wiek czwarty to level ale narazie potrzebuje tylko pierwszych dwóch mam pliki admin.php, - panel administarycjny index.php, - wyswietlanie wszsytkich userów oraz ich danych -- to działa !! chyba jako jedyne (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) panel.php - formularz do panelu admina teraz kody panel.php [php:1:1e751e3552] <? session_start(); $SID=session_id(); $login=$_POST['login']; $haslo=$_POST['haslo']; if(isset($login) && isset($haslo)) { session_register($haslo); session_register($login); } echo('<center><p align="center"><font face="Verdana" size="2"><b>Statystki odwołań </b><br>'); echo("<form method='POST' action='admin.php?=$SID'>"); echo(' <p> Login <input type="text" name="login" size="20"></p> <p> Hasło<input type="haslo" name="haslo" size="20"></p> <p> <input type="submit" value="Dalej.." name="B1"></p> </form></center>'); ?> [/php:1:1e751e3552] admin.php [php:1:1e751e3552]<? session_start(); // czesc konfiguracji $usr=file("users.n"); $ile_usr=count($usr); $dobry_pass=$_SESSION['haslo']; $dobry_login=$_SESSION['login']; echo("$dobry_pass = $dobry_login"); // czesc kodu wykonującego for($i=0 ; $i<$ile_usr ; $i++) { $user=explode("|+|", $usr[$i]); $login[$c]=$user[0]; $pass[$i]=$user[1]; $wiek[$i]=$user[2]; $poziom[$i]=$user[3]; $war=1; if( $user[0]==$dobry_login) { } else { continue; } } if(isset($war)) { session_register($password); session_register($log); $alt_pass=$_SESSION['password']; $alt_log=$_SESSION['log']; //czesc panelu administaryjnego echo("Witaj <b> </b><br>"); echo('TUTAJ JEST PANEL ADMINISTARYCJNY'); echo('<a href="wyloguj.php?=SID">wyloguj</a>'); } else { echo("brak wstępu<br> $login[$i] <br>$log<br>inny:"); } ?>[/php:1:1e751e3552] index.php [php:1:1e751e3552] <? $usr=file("users.n"); $ile_usr=count($usr); for($i=0 ; $i<$ile_usr ; $i++) { $user=explode("|+|", $usr[$i]); $login[$i]=$user[0]; $pass[$i]=$user[1]; $wiek[$i]=$user[2]; $poziom[$i]=$user[3]; echo("login: <b>$login[$i]</b> Haslo:<b>$pass[$i]</b> Wiek:<b> $wiek[$i]</b> Poziom: <b>$poziom[$i]</b> <br>"); } ?> [/php:1:1e751e3552] gdzie robie bład (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? próbowałem już tylu sposobów i wszystko na nic. Zostawiam początkowy. Wszelkie sugestie mile widzane !! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Formularz rejestracji:
[php:1:8a8eeb9072]<?php if( !empty( $_POST['haslo'] ) && !empty( $_POST['login'] ) ) { if( file_exists( 'users/'. $_POST['login'] ) ) { echo 'Uzytkownik '. $_POST['login'] .' juz istnieje'; } else { if( strlen( $_POST['login'] ) < 4 ) { echo "Twoj login jest za krotki"; rejestracja(); } else { if( strlen( $_POST['haslo'] ) < 4 ) { echo "Twoje haslo jest za krotkie!"; rejestracja(); } else { $fp = fopen( 'users/'. $_POST['login'], 'w' ); fwrite( $fp, 'u;'. md5( $_POST['haslo'] ) ); fclose( $fp ); echo 'Zostales zarejestrowany'; } } } } else { rejestracja(); } function rejestracja() { echo "<form method='POST' action='rejestracja.php'>"; echo "Login <input type='text' name='login'><br>"; echo "Haslo <input type='text' name='haslo'>"; echo "<input type='submit' value='ok'></form>"; } ?>[/php:1:8a8eeb9072] Logowanie (formularz, ogólnie przykładowa strona) [php:1:8a8eeb9072]<?php ini_set( 'session.use_cookies', 1 ); session_set_cookie_params( 3600 ); session_start( ); if( !isset( $_SESSION['user'] ) ) { formularz(); define( 'STATUS', 'g' ); } else { echo "Witaj ". $_SESSION['user'] .'<br>'; echo '<a href="login.php?def=logout">Wyloguj mnie</a>'; define( 'STATUS', $_SESSION['status'] ); } function formularz() { echo "<form method='POST' action='login.php'>"; echo "Login<input type='text' name='login'><br>"; echo "Haslo<input type='password' name='haslo'>"; echo "<input type='hidden' name='from' value='". $_SERVER['PHP_SELF'] ."'>"; echo "<input type='submit' value='ok'></form>"; } ?>[/php:1:8a8eeb9072] Plik odpowiedzalny za logowanie itp. [php:1:8a8eeb9072]<?php ini_set( 'session.use_cookies', 1 ); session_set_cookie_params( 3600 ); session_start( ); if( !empty( $_POST['login'] ) && $_POST['haslo'] ) { if( $dane = @file( 'users/'. $_POST['login'] ) ) { $dane = explode(';', $dane[0] ); // $dane[0] = "status"; $dane[1] = "haslo" if( md5( $_POST['haslo'] ) == $dane[1] ) { $_SESSION['user'] = $_POST['login']; $_SESSION['status'] = $dane[0]; header( 'Location: '. $_POST['from'] ); } else { echo 'Podales zle haslo'; } } else { echo 'Nieznany uzytkownik'; } } elseif( $_GET['def'] == 'logout' ) { session_destroy( ); header( 'Location: '. $_SERVER['HTTP_REFERER'] ); } else { header( 'Location: '. $_SERVER['HTTP_REFERER'] ); } ?>[/php:1:8a8eeb9072] Wystarczy, że stworzysz katalog users i nadasz mu odpowiednie prawa. Przykladowy plik uzytkownika: Kod u;40ba6f89a60388a30d77f9ca07133fb8
Gdzie u to status, rownie dobrze moze byc a, a ciag po średniku to hasło w postaci md5. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 10:04 |