Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ban usera
Damalin
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 27.11.2016

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


Witam, czy może mi ktoś sprawdzić dlaczego ten skrypt na sprawdzanie czy osoba jest zbanowana nie działa jak należy ? w bazie mam ban ustawiony na 0, a gdy jest 1 nie powinno zalogować użytkownika, a przenieść na podstrone ban.php. Oto kod:
  1. <?php
  2.  
  3. if($_SESSION['ban']= 1)
  4. {
  5. header('Location: ban.php');
  6. }
  7.  
  8. if((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
  9. {
  10. header('Location: index.php');
  11. exit();
  12. }
  13.  
  14.  
  15.  
  16. require_once "dane.php"; //Łączenie z bazą danych
  17.  
  18. $laczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  19.  
  20.  
  21. if ($laczenie->connect_errno!=0)
  22. {
  23. echo "Błąd: ".$laczenie->connect_errno;
  24. }
  25. else
  26. {
  27. $login = $_POST['login'];
  28. $haslo = $_POST['haslo'];
  29.  
  30. $login = htmlentities($login, ENT_QUOTES, "UTF-8");
  31.  
  32.  
  33. /* sprawdzanie poprawności loginu i hasła wraz z weryfikacją */
  34. if ($rezultat = @$laczenie->query(
  35. sprintf("SELECT * FROM users WHERE login='%s' AND weryfikacja='1'",
  36. mysqli_real_escape_string($laczenie,$login))))
  37. {
  38.  
  39.  
  40. $ile_wynikow = $rezultat->num_rows;
  41. if($ile_wynikow>0)
  42. {
  43. $wiersz = $rezultat->fetch_assoc();
  44.  
  45.  
  46.  
  47. if(password_verify($haslo,$wiersz['haslo']))
  48. {
  49.  
  50. $_SESSION['zalogowany'] = true;
  51. $_SESSION['login'] = $wiersz['login'];
  52. $_SESSION['id'] = $wiersz['id'];
  53. $_SESSION['email'] = $wiersz['email'];
  54. $_SESSION['ranga'] = $wiersz['typ_konta'];
  55. $_SESSION['ban'] = $wiersz['ban'];
  56.  
  57.  
  58. unset($_SESSION['blad']);
  59. $rezultat->free();
  60. $_SESSION['zalogowany'] = '<span style="color:green">Udało Ci się zalogować poprawnie !</span>';
  61. $laczenie->query("UPDATE users SET online=1 WHERE login='$login'");
  62. header('Location: index.php');
  63. }
  64. else
  65. {
  66. $_SESSION['blad'] = '<span style="color:red">Nieprawidłowe dane lub Twoje konto jeszcze nie zostało zweryfikowane !</span>';
  67. header('Location: index.php');
  68. }
  69.  
  70. } else {
  71. $_SESSION['blad'] = '<span style="color:red">Nieprawidłowe dane lub Twoje konto jeszcze nie zostało zweryfikowane !</span>';
  72. header('Location: index.php');
  73. }
  74. }
  75. /*Sprawdzanie czy nie jesteś adminem*/
  76.  
  77. if ($rezultat = @$laczenie->query(
  78. sprintf("SELECT * FROM users WHERE login='%s' AND typ_konta='3'",
  79. mysqli_real_escape_string($laczenie,$login))))
  80. {
  81. $ile_wynikow = $rezultat->num_rows;
  82. if($ile_wynikow>0)
  83. {
  84. $wiersz = $rezultat->fetch_assoc();
  85.  
  86. if(password_verify($haslo,$wiersz['haslo']))
  87. {
  88.  
  89.  
  90. $_SESSION['zalogowany'] = true;
  91.  
  92. unset($_SESSION['blad']);
  93. $rezultat->free();
  94. header('Location: admin/index.php');
  95. }
  96. }
  97.  
  98.  
  99.  
  100. $laczenie->close();
  101. }
  102. }
  103.  
  104. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- Damalin   Ban usera   27.11.2016, 14:24:38
- - trueblue   W którym miejscu przekierowujesz na ban.php? Jaki ...   27.11.2016, 14:26:56
|- - Damalin   Cytat(trueblue @ 27.11.2016, 14:26:56...   27.11.2016, 14:28:07
- - Spawnm   Daj exit; po header   27.11.2016, 14:30:45
|- - Damalin   Cytat(Spawnm @ 27.11.2016, 14:30:45 )...   27.11.2016, 14:40:48
- - trueblue   Cytat(Damalin @ 27.11.2016, 14:28:07 ...   27.11.2016, 14:37:38
- - viking   if($_SESSION['ban']=== 1)   27.11.2016, 14:51:47
|- - Damalin   Cytat(viking @ 27.11.2016, 14:51:47 )...   27.11.2016, 15:02:29
- - viking   A co zawiera $wiersz['ban']?   27.11.2016, 15:35:31
|- - Damalin   Cytat(viking @ 27.11.2016, 15:35:31 )...   27.11.2016, 15:47:24
- - nospor   @viking jesli cos to ban zawiera '1' a nie...   27.11.2016, 15:45:00
- - viking   @nospor. Miał to sprawdzić sam Więc zrób var_dump...   27.11.2016, 15:48:20
- - nospor   NIech on tez sprawdzi co ma w sesji i czy w ogole ...   27.11.2016, 16:05:07
|- - Damalin   Cytat(nospor @ 27.11.2016, 16:05:07 )...   27.11.2016, 16:24:36
|- - GodOfPeople   Cytat(Damalin @ 27.11.2016, 16:24:36 ...   28.11.2016, 12:04:14
- - viking   To po pierwsze widzisz że typ danych to string, po...   27.11.2016, 16:26:51
|- - Damalin   Cytat(viking @ 27.11.2016, 16:26:51 )...   27.11.2016, 16:29:00
- - viking   Na początek to musisz zrozumieć różnicę między = =...   27.11.2016, 16:37:36
|- - Damalin   Cytat(viking @ 27.11.2016, 16:37:36 )...   28.11.2016, 09:19:51
- - viking   No to sprawdziłeś co masz w sesji?   28.11.2016, 09:20:43
|- - Damalin   Cytat(viking @ 28.11.2016, 09:20:43 )...   28.11.2016, 09:22:53
- - viking   Jeśli to co wyżej wkleiłeś pochodzi z var_dump(...   28.11.2016, 09:39:51
|- - Damalin   Cytat(viking @ 28.11.2016, 09:39:51 )...   28.11.2016, 09:46:35
- - viking   No to nie wklejaj losowych danych tylko konta któr...   28.11.2016, 09:53:39
|- - Damalin   Cytat(viking @ 28.11.2016, 09:53:39 )...   28.11.2016, 10:16:22
- - viking   Wywal jeszcze wszystkie @, włącz pełne raportowani...   28.11.2016, 10:28:30
|- - Damalin   Cytat(viking @ 28.11.2016, 10:28:30 )...   28.11.2016, 10:53:21
- - viking   Czyli co? Jak wklejasz tylko i wyłącznie ten kod w...   28.11.2016, 10:58:21
|- - Damalin   Cytat(viking @ 28.11.2016, 10:58:21 )...   28.11.2016, 11:05:45
- - trueblue   O jakim dokładnie momencie logowanie piszesz? Prze...   28.11.2016, 11:08:28
|- - Damalin   Cytat(trueblue @ 28.11.2016, 11:08:28...   28.11.2016, 11:17:31
- - trueblue   A na jakieś podstawie skrypt wie, że użytkownik pr...   28.11.2016, 11:21:10
|- - Damalin   Cytat(trueblue @ 28.11.2016, 11:21:10...   28.11.2016, 11:25:09
- - trueblue   Po pobraniu danych użytkownika, a przed zalogowani...   28.11.2016, 11:31:02
|- - Damalin   Cytat(trueblue @ 28.11.2016, 11:31:02...   28.11.2016, 11:34:31
- - trueblue   Przed password_verify sprawdzasz zawartość $w...   28.11.2016, 11:36:40
- - Damalin   Cytat(trueblue @ 28.11.2016, 11:36:40...   28.11.2016, 11:42:35


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 Aktualny czas: 21.08.2025 - 14:19