Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Logowanie i brak polskich znaków.
Mlody993
post 8.03.2016, 20:41:23
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 12.02.2009

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


Witam,
mam problem z kodowaniem. Udało mi się ustawić komentarze, rejestracje - tutaj kodowanie UTF-8 działa, wszystko jest w porządku.

Problem pojawia się jednak przy logowaniu. Jeżeli utworzę poprzez formularz rejestracyjny użytkownika o nazwie użytkownik, to w bazie istnieje "użytkownik". Natomiast formularz logowania niestety nie rozpoznaje wpisanych polskich znaków. Może ktoś będzie w stanie mi pomóc.


Tutaj jest plik login.php:
  1. <p class="ng">Logowanie</p>
  2. <p>Zaloguj się podając swój login i hasło.<br><br></p>
  3.  
  4.  
  5. <?php
  6.  
  7.  
  8. if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
  9. {
  10. header('Location: /panel,pl.html');
  11. exit();
  12. }
  13.  
  14. ?>
  15. <?php
  16. if(isset($_SESSION['blad'])) echo $_SESSION['blad'];
  17. ?>
  18. <form action="/zaloguj,pl.html" method="post">
  19. <table border="2" style="border-style: none;" width="200" align="center">
  20. <tr>
  21. <th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
  22. Login:</th><th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
  23. <input type="text" name="login" style="color:#39759B; font-weight: bold;" /></th>
  24. </tr>
  25. <tr>
  26. <th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
  27. Hasło:</th>
  28. <th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
  29. <input type="password" name="pass" style="color:#39759B; font-weight: bold;" /></th>
  30. </tr>
  31. </table>
  32. <table border="1" style="border-style: none;" width="20" align="center">
  33. <tr>
  34. <th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" width="200" align="center">
  35. <input type="submit" value="Zaloguj" /></th>
  36.  
  37. </form>
  38. </th>
  39. </tr>
  40. </table>


A tutaj plik "zaloguj.php" gdzie jest wszystko dotyczące sesji i logowania:
  1. <?php
  2.  
  3.  
  4. class user {
  5.  
  6. public function passSalter ($pass) {
  7. $pass = '$@@#$#@$'.$pass.'q2#$3$%##@';
  8. return md5($pass);
  9. }
  10.  
  11. }
  12.  
  13. if ((!isset($_POST['login'])) || (!isset($_POST['pass'])))
  14. {
  15. header('Location: /login,pl.html');
  16. exit();
  17.  
  18. }
  19.  
  20. require_once "connect.php";
  21.  
  22. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  23. if ($polaczenie->connect_errno!=0)
  24. {
  25. echo "Error: ".$polaczenie->connect_errno;
  26. }
  27. else
  28. {
  29.  
  30. $login = $_POST['login'];
  31. $pass = $_POST['pass'];
  32.  
  33. $login = htmlentities($login, ENT_QUOTES, "utf8");
  34. $pass = htmlentities($pass, ENT_QUOTES, "utf8");
  35.  
  36. $pass = user::passSalter($pass);
  37.  
  38. if ($rezultat = @$polaczenie->query(
  39. sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
  40. mysqli_real_escape_string($polaczenie,$login),
  41. mysqli_real_escape_string($polaczenie,$pass))))
  42. {
  43. $ilu_userow = $rezultat->num_rows;
  44. if($ilu_userow>0)
  45. {
  46. $_SESSION['zalogowany'] = true;
  47.  
  48. $wiersz = $rezultat->fetch_assoc();
  49. $_SESSION['id'] = $wiersz['id'];
  50. $_SESSION['user'] = $wiersz['user'];
  51. $_SESSION['email'] = $wiersz['email'];
  52. $_SESSION['imie'] = $wiersz['imie'];
  53. $_SESSION['nazwisko'] = $wiersz['nazwisko'];
  54.  
  55. unset($_SESSION['blad']);
  56. $rezultat->free_result();
  57. header('Location: /panel,pl.html');
  58.  
  59. } else {
  60.  
  61. $_SESSION['blad'] = '<table border="2" style="border-style: none;" width="500" align="center">
  62. <tr>
  63. <th style="border-color: #6495ED; background-color: #FAF0E6; -moz-border-radius: 6px; border-style: solid;" align="center">
  64. <b>Nieprawidłowy login lub hasło!</b></th>
  65. </tr>
  66. </table><br />';
  67. header('Location: /panel,pl.html');
  68.  
  69. }
  70.  
  71. }
  72.  
  73. $polaczenie->close();
  74. }
  75.  
  76. ?>


Czy ktoś widzi gdzieś problem? Bo ja już nie daje rady.

Ten post edytował Mlody993 8.03.2016, 20:42:05
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 03:44