Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzanie konkretnego uzytkownika podczas logowania
marekjurko12
post 6.06.2019, 01:52:41
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.06.2019

Ostrzeżenie: (0%)
-----


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




  1. <?php
  2.  
  3.  
  4. if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
  5. {
  6. header('Location: index.php');
  7. exit();
  8. }
  9.  
  10.  
  11. require_once "connect.php";
  12.  
  13. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  14.  
  15. if($polaczenie->connect_errno!=0)
  16. {
  17. echo "Error: ".$polaczenie->connect_errno;
  18. }
  19. else
  20. {
  21. $login = $_POST['login'];
  22. $haslo = $_POST['haslo'];
  23.  
  24. $login = htmlentities($login, ENT_QUOTES, "UTF-8");
  25.  
  26.  
  27. if ($rezultat = @$polaczenie->query(
  28. sprintf("SELECT*FROM uzytkownicy WHERE user='%s'",
  29. mysqli_real_escape_string($polaczenie,$login))))
  30. {
  31. $ilu_userow = $rezultat->num_rows;
  32. if($ilu_userow>0)
  33. {
  34. $wiersz = $rezultat->fetch_assoc();
  35.  
  36. if(password_verify($haslo, $wiersz['pass']))
  37. {
  38. $_SESSION['zalogowany'] = true;
  39.  
  40. unset($_SESSION['blad']);
  41. $rezultat->free();
  42. header('Location: panel.php');
  43. }
  44. else
  45. {
  46. $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub haslo!</span>';
  47. header('Location: index.php');
  48. }
  49.  
  50. } else {
  51.  
  52. $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub haslo!</span>';
  53. header('Location: index.php');
  54.  
  55. }
  56. }
  57.  
  58. $polaczenie->close();
  59. }
  60. ?>


Ten post edytował marekjurko12 6.06.2019, 01:53:47
Go to the top of the page
+Quote Post
sratatata
post 6.06.2019, 07:34:15
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----



Tam gdzie masz warunek z password_verify() dodaj sprawdzenie czy rowniez user to adam.


Ten post edytował sratatata 6.06.2019, 07:34:46
Go to the top of the page
+Quote Post
marekjurko12
post 6.06.2019, 10:24:23
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.06.2019

Ostrzeżenie: (0%)
-----


nie wychodzi mi właśnie, mogłbys przedstawić to jako kod zebym porównał ?

Ten post edytował marekjurko12 6.06.2019, 10:24:40
Go to the top of the page
+Quote Post
Pyton_000
post 6.06.2019, 10:45:59
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
sratatata
post 6.06.2019, 11:47:49
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----


Cytat(marekjurko12 @ 6.06.2019, 10:24:23 ) *
nie wychodzi mi właśnie, mogłbys przedstawić to jako kod zebym porównał ?

No to pokaz co zrobiles.
Go to the top of the page
+Quote Post
marekjurko12
post 6.06.2019, 21:00:19
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.06.2019

Ostrzeżenie: (0%)
-----


  1. if(password_verify($haslo, $wiersz['pass']))
  2. {
  3. if($login == "armand")
  4. header('Location: admin.php');
  5.  
  6.  
  7. $_SESSION['zalogowany'] = true;
Go to the top of the page
+Quote Post
sratatata
post 7.06.2019, 08:27:01
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----


  1. if(password_verify($haslo, $wiersz['pass']) && $login == 'adam')
  2. {
  3. dalej co tam chcesz robic
  4. }


Ten post edytował sratatata 7.06.2019, 12:06:26
Go to the top of the page
+Quote Post
Tomplus
post 12.06.2019, 11:23:18
Post #8





Grupa: Zarejestrowani
Postów: 1 834
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


@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:


  1. if($login == 'adam') {
  2. header('Location: '.$login.'.php');
  3. } else {
  4. header('Location: panel.php');
  5. }

Go to the top of the page
+Quote Post
sratatata
post 12.06.2019, 12:01:36
Post #9





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----


Cytat(Tomplus @ 12.06.2019, 11:23:18 ) *
@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:


  1. if($login == 'adam') {
  2. header('Location: '.$login.'.php');
  3. } else {
  4. header('Location: panel.php');
  5. }


Zbdny czy niezbdny kogo to obchodzi., Wazne ze dziala.
Go to the top of the page
+Quote Post
nospor
post 12.06.2019, 12:04:00
Post #10





Grupa: Moderatorzy
Postów: 36 447
Pomógł: 6292
Dołączył: 27.12.2004




@sratatata no wlasnie sek w tym, ze z twoim warunkiem dzialalo nie tak jak powinno, bo juz jak Tomplus napisal, nie uwzglednialo reszty uzytkownikow


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 19:07