Witajcie,
napisałem dziś logowanie. Napiszcie czy jest ok? Ogólnie działa ale, że działa to nie wszystko. Co byście zmienili? Co robię źle i bez sensu? czy idea jest oki? Czy idzie ten kod jakoś obejść i wejść mimo logowania na stronę?
poniżej kod z komentarzem
<?php
include ('db/conection.php'); // łącze się z db za pomocą PDO
include('querries/confQuerries.php'); // tutaj plik z zapytaniami SQL
$howMany = $dbh -> query($COUNT_LOGIN_USERS); // tutaj zapytanie count(*) where $_POST['login']
foreach( $howMany as $k )
{
$count = $k[0];
}
if ( $count == 1 ) // jeśli zapytanie zwróciło jeden wiersz
{
foreach ( $dbh -> query( $SELECT_USER ) as $row ) // wybieram wszystkie dane usera where $_POST['login']
{
if ( $_POST['login'] == $row[1] && $_POST['pass'] == $row[2] ) // jeśli wpisany login odpowiada loginowi w bazie i wpisane haslo odpowiada temu z bazy przypisuje wynik zapytania do sesji
{
$_SESSION['id'] = $row[0];
$_SESSION['login'] = $row[1];
$_SESSION['pass'] = $row[2];
$_SESSION['name'] = $row[3];
$_SESSION['surname'] = $row[4];
$_SESSION['nickname'] = $row[5];
$_SESSION['level'] = $row[6];
$_SESSION['xlid'] = $row[7];
$_SESSION['region'] = $row[8];
$_SESSION['logIn'] = 1;
$loginAim = $output[year] . '-' . $output[mon] . '-' . $output[mday] . ', ' . $output[hours] . ':' . $output[minutes] . ':' . $output[seconds];
include('querries/confQuerries.php');
if ( $_SESSION['xlid'] != 5555555 ) // nie loguje ADMINA
{
$dbh -> query( $INSERT_LOGGED_USER ); // log kto i kiedy sie zalogował
foreach( $dbh -> query( $SELECT_LAST_INSERT_ID_PER_USER ) as $row )
{
$_SESSION['sessionIdLogger'] = $row[0];
}
}
header( 'Location: http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/' . mainView.'.'.php ); // jesli wszystko ok to kieruje na stronę jakąś tam dostępną po zalogowaniu poprawnym exit;
}else
{
header( 'Location: http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/' . index.'.'.php ); // jeśli coś nie tak to kieruje na stronę logowania
}
}
}else header( 'Location: http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/' . index.'..php
);
?>