Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Rozróżnianie liter w PDO
Arhimenrius
post
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 3
Dołączył: 19.04.2011

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


Witam.
Jak dotąd korzystałem ze zwykłego połączenia z bazą MySQL. W niej obojętne było jakiej wielkości litery wprowadzałem, czy logowałem się pod nickiem: Gracz, czy, gracz, i tak rozróżniało. Obecnie przerzuciłem się na połączenie PDO, i ku mojemu zaskoczeniu rozróżnia wielkość liter. Z tego co słyszałem, da się to jakoś naprawić przy użyciu warunków regularnych aczkolwiek nie mam pojęcia jak.

  1. function Login($nick, $pass)
  2. {
  3. global $db;
  4.  
  5.  
  6. $pass = md5($pass.sha1($pass));
  7. $stmt = $db->prepare("SELECT * FROM `users` WHERE `UsName` = ? OR `UsPassword` = ?");
  8. $stmt -> execute(array($nick, $pass));
  9. $row = $stmt -> fetch(PDO::FETCH_ASSOC);
  10.  
  11.  
  12. if ($row['UsName'] != $nick) throw new exception ('Podany nick jest błędny.');
  13. if ($row['UsPassword'] != $pass) throw new exception ('Podane hasło jest błędne.');
  14.  
  15. $_SESSION['ip'] = $row['UsIP'];
  16. $_SESSION['login'] = $row['UsName'];
  17. $_SESSION['login_ip'] = $_SERVER['REMOTE_ADDR'];
  18. echo 'Logowanie pomyślne<br>';
  19.  
  20. return true;
  21. }


O to kod logowania, jak coś.

Z góry dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Arhimenrius
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 3
Dołączył: 19.04.2011

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


Hmmm... zastosowałem Twoją metodę i owszem, nie rozróżnia wielkości liter. Aczkolwiek w tej chwili, mogę podać jakiekolwiek hasło, sesja się otworzy aczkolwiek tylko dla pliku index.php. U mnie jeżeli sesja jest zaczęta, powinno przenosić do pliku game.php.

  1. if($_SESSION['login'] != '' )


Taki jest u mnie warunek sprawdzający w tym game.php.

PS. Rozwiązane, starczyło podmienić żeby przypisywało dane do sesji dopiero po tym jeżeli warunek nie zostanie spełniony (
  1. if($row['UsID'] == '') throw new exception('Podałeś zły login lub hasło');
  2. else{...}




Ten post edytował Arhimenrius 16.10.2011, 18:19:26
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 08:15