Przepraszam bo juz zaraz zwariuje, poniżej znajduje sie moj kod do logowania, prosze niech mi ktoś łaskawie przedstawi If'a który sprawdzi czy login wpisany przez uzytkownika w panelu logowania to np. adam i przeniesie go do pliku adam.php , chodzi o te konkretnego uzytkownika reszta tak jak w skrypcie przenosi sie do pliku panel.php
wiem ,że banalnie proste ale już jest późna godzina a napisanie tego logowania zajeło mi mase czasu
Pozdrawiam serdecznie
<?php http://www.php.net/session_start(); if ((!http://www.php.net/isset($_POST['login'])) || (!http://www.php.net/isset($_POST['haslo']))) { http://www.php.net/header('Location: index.php'); http://www.php.net/exit(); } require_once "connect.php"; $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name); if($polaczenie->connect_errno!=0) { http://www.php.net/echo "Error: ".$polaczenie->connect_errno; } else { $login = $_POST['login']; $haslo = $_POST['haslo']; $login = http://www.php.net/htmlentities($login, ENT_QUOTES, "UTF-8"); if ($rezultat = @$polaczenie->query( http://www.php.net/sprintf("SELECT*FROM uzytkownicy WHERE user='%s'", mysqli_real_escape_string($polaczenie,$login)))) { $ilu_userow = $rezultat->num_rows; if($ilu_userow>0) { $wiersz = $rezultat->fetch_assoc(); if(password_verify($haslo, $wiersz['pass'])) { $_SESSION['zalogowany'] = true; http://www.php.net/unset($_SESSION['blad']); $rezultat->free(); http://www.php.net/header('Location: panel.php'); } else { $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub haslo!</span>'; http://www.php.net/header('Location: index.php'); } } else { $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub haslo!</span>'; http://www.php.net/header('Location: index.php'); } } $polaczenie->close(); } ?>
Tam gdzie masz warunek z password_verify() dodaj sprawdzenie czy rowniez user to adam.
nie wychodzi mi właśnie, mogłbys przedstawić to jako kod zebym porównał ?
Nie wychodzi Ci bo to nie Ty napisałeś ten kod - ot cała zagadka.
Przed przeniesieniem do panel.php musisz dodać warunek sprawdzajączy czy $login === 'adam' i jeśli tak to przekierować do adam.php zamiast panel.php
if(password_verify($haslo, $wiersz['pass'])) { if($login == "armand") http://www.php.net/header('Location: admin.php'); $_SESSION['zalogowany'] = true;
if(password_verify($haslo, $wiersz['pass']) && $login == 'adam') { dalej co tam chcesz robic }
@sratata
Ten twój warunek jest zbędny... bo nie uwzględnia innych użytkowników
Sprawdzenie usera jest już w SQL: "SELECT*FROM uzytkownicy WHERE user='%s'"
A odpowiedź jest prosta, po wpisaniu poprwnego hasła wystarczy poprawić kod:
if($login == 'adam') { http://www.php.net/header('Location: '.$login.'.php'); } else { http://www.php.net/header('Location: panel.php'); }
if($login == 'adam') { http://www.php.net/header('Location: '.$login.'.php'); } else { http://www.php.net/header('Location: panel.php'); }
@sratatata no wlasnie sek w tym, ze z twoim warunkiem dzialalo nie tak jak powinno, bo juz jak Tomplus napisal, nie uwzglednialo reszty uzytkownikow
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)