Stworzyłem skrypt logowania. Ciekaw jestem jak go widzicie i co ewentualnie moznaby poprawić. Znajduje się w nim dużo komentarzy, które powinny pomóc. Tak więc pytanie. Co jest źle, tudziez mogłoby być lepiej, jak zmienić i przede wszystkim po co? :- )
Pozdrawiam... :- )
<?php
$mysql_host = '***';
$mysql_login = '***';
$mysql_haslo = '***';
$mysql_baza = '***';
if ($zakonczenie=='koniec')
{
// USUWANIE SESJI JEŚLI W ADRESIE STRONY POJAWIŁA SI ZMIENNA "LOGIN" RÓWNA "KONIEC"
}
if ($_SESSION['zalogowany']<>'tak')
{
// JEŻELI UŻYTKOWNIK JEST ZALOGOWANY
if ($nlogin<>'')
{
// JEŻELI PODANO LOGIN Z FORMULARZA KODOWANIE HASŁA
if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
{
// ŁĄCZENIE Z BAZĄ DANYCH MYSQL I SPRAWDZANIE KOLEJNYCH WŁAŚCIWOŚCI PODANYCH W FOR
MULARZU DANYCH
$sprawdzanie_loginu = mysql_query("SELECT login FROM logowanie WHERE login='$nlogin'"); {
// GENEROWANIE BŁDU JEŚLI LOGIN NIE ISTNIEJE W BAZIE DANYCH
$blad++;
$wykrytoblad = "Użytkownik <b>$nlogin</b> nie istnieje...";
}
else
{
// JEŻELI W BAZIE ISTNIEJE JEDEN PODANY PRZEZ UŻYTKOWNIKA W FORMULARZU LOGIN SPRAW
DZANIE POPRAWNOŚCI WPISANEGO HASŁA
$sprawdzanie_hasla = mysql_query("SELECT login, haslo FROM logowanie WHERE (login='$nlogin' and haslo='$nhaslo')"); {
// GENEROWANIE BŁDU JEŚLI PODANE HASŁO NIE JEST POPRAWNE
$blad++;
$wykrytoblad = 'Podałeś błędne hasło...';
}
else
{
// JEŚLI HASŁO PODANE ZOSTAŁO W FORMULARZU PRAWIDŁOWO
$sprawdzanie_statusu = mysql_query("SELECT * FROM logowanie WHERE (login='$nlogin' and status=5)"); {
$blad++;
$wykrytoblad = 'Twoje konto nie zostało przez Ciebie aktywowane...';
}
}
}
else
{
// GENEROWANIE BŁDU JEŚLI W BAZIE ZNALEZIONO DWA IDENTYCZNE LOGINY
$blad++;
$wykrytoblad = 'BŁĄD KRYTYCZNY - w bazie danych znajdują się co najmniej dwa identyczne loginy! Skontaktuj się z
administratorem i powiadom o zaistniałym fakcie...';
}
if ($blad==0)
{
// JEŻELI NIE WYKRYTO ŻADNYCH BŁDÓW TWORZENIE SESJI. WSZYSTKIE DANE Z TABELI LOGOW
ANIE SĄ UŻYTE, PONIEWAŻ BDĄ POTRZEBNE W SKRYPTACH NA INNYCH STRONACH
$_SESSION["zalogowany"] = 'tak';
$_SESSION["id"] = $dane["id"];
$_SESSION["login"] = $dane["login"];
$_SESSION["imie"] = $dane["imie"];
$_SESSION["email"] = $dane["email"];
$_SESSION["gadu"] = $dane["gadu"];
$_SESSION["tlen"] = $dane["tlen"];
$_SESSION["skype"] = $dane["skype"];
$_SESSION["www"] = $dane["www"];
$_SESSION["pytanie"] = $dane["pytanie"];
$_SESSION["odpowiedz"] = $dane["odpowiedz"];
$_SESSION["dataurodzenia_dzien"] = $dane["dataurodzenia_dzien"];
$_SESSION["dataurodzenia_miesiac"] = $dane["dataurodzenia_miesiac"];
$_SESSION["dataurodzenia_rok"] = $dane["dataurodzenia_rok"];
$_SESSION["ranga"] = $dane["ranga"];
$adresip = $_SERVER['REMOTE_ADDR'];
$hostuzytkownika = gethostbyaddr($_SERVER['REMOTE_ADDR']);
// DODAWANIE DATY LOGOWANIA DO TABELI DATYLOGOWAŃ
$dodanie_daty_logowania = mysql_query("INSERT INTO datylogowan SET datylogowan_id_uzytkownika='".$_SESSION["id"]."', datylogowan_data='$ndata'");
// AKTUALIZACJA TABELI LOGOWANIE. NADPISYWANIE OSTATNIEGO IP, HOST I DATY LOGOWANI
A
$aktualizacja_danych = mysql_query("UPDATE logowanie SET ostatnie_logowanie='$ndata', ostatnie_ip='$adresip', ostatni_host='$hostuzytkownika' WHERE id='".$_SESSION["id"]."'");
$sprwadzanie_listy_ip = mysql_query("SELECT * FROM adresyip WHERE (adresyip_ip='$adresip' and adresyip_id_uzytkownika='".$_SESSION["id"]."')"); {
// JEŻELI AKTALNEGO ADRESU IP NIE MA W TABELI ADRESÓW IP DOPISYWANIE GO DO LISTY
$dodawanie_adresu_ip = mysql_query("INSERT INTO adresyip SET adresyip_id_uzytkownika='".$_SESSION["id"]."', adresyip_ip='$adresip', adresyip_host='$hostuzytkownika'"); }
}
}
else
{
?>
<span>
<center>
Nie można połączyć się z bazą - spróbuj ponownie za chwilę...
</center>
</span>
<?php
}
}
else
{
?>
<span>
<center>
Nie można połączyć się z serwerem MySQL - spróbuj ponownie za chwilę...
</center>
</span>
<?php
}
}
}
?>
Z góry wielkie dzięki :- )
Ten post edytował The Night Shadow 8.03.2006, 16:11:08