przykladowy system autoryzacji, mysle, ze powinno Ci pomoc
1) tworzymy najprostsza baze danych
[sql:1:5988957ee0]
create table uzytkownicy
(
uzyt_login char(16) not null primary key,
uzyt_haslo char(32) not null,
index (uzyt_login)
);
[/sql:1:5988957ee0]
2) formularz logowania
Kod
<form action="loguj.php" method="post">
login: <input type="text" name="login" size="12" maxlength="16"/>
hasło: <input type="password" name="haslo" size="12" maxlength="32"/>
<input type="image" src="img/ok.gif" />
</form>
3) plik loguj.php
[php:1:5988957ee0]<?php
//loguj.php
session_start();
//sprawdzam czy formularz zostal poprawnie wypelniony
if ( (!empty($_POST['login'])) && (!empty($_POST['haslo'])) ) {
$polaczenie = mysql_pconnect("localhost");
if ($polaczenie) {
if (mysql_select_db("bazadanych") == true){
//wybieram uzytkownika z bazy danych
$zapytanie = "SELECT uzyt_login FROM uzytkownicy WHERE uzyt_login = '".$_POST['login']."' AND uzyt_haslo = '".md5($_POST['haslo'])."'";
$wynikZapytania = mysql_query($zapytanie);
if (mysql_fetch_array($wynikZapytania)) {
$uzytkownik = $_POST['login'];
//rejestruje zmienna sesji
session_register("uzytkownik");
$komunikat = "Zostałeś poprawnie zalogowany.<br />";
}
else
$komunikat = "Podaleś niepoprawne dane.";
}
else
$komunikat = "Błąd wybrania bazy danych.";
}
}
else
$komunikat = "Nie wypelniono poprawnie wszystkich pól.";
echo $komunikat;
?>[/php:1:5988957ee0]
4) plik wyloguj.php
[php:1:5988957ee0]<?php
session_start();
//jezeli uzytkownik jest zarejestrowany
if (session_is_registered("uzytkownik")) {
$user = $_SESSION['uzytkownik'];
session_unregister("uzytkownik");
}
if ($user) {
echo $user.", zostałeś pomyślnie wylogowany.";
}
else
echo "Nie byłeś zalogowany.";
?>[/php:1:5988957ee0]
ps. nie testowalem tego, ale powino dzialac gdyz sa to powycinane fragmenty mojego projektu
ps.2. pytanie do innych uzytkownikow: czy to cos, co powyzej napisalem jest poprawnie napisane? czy piszac taki system robie jakies karygodne bledy....
pozdrawiam