Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Logowanie i błąd
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


Witam. Mam taki skrypt logowanie własnej roboty no i on nie chce działać.
  1. <?php
  2. function zaloguj($user, $pass){
  3. $pass = md5($pass);
  4. $zapytanie = mysql_query("SELECT * FROM `users` WHERE `login` = '".koduj($user)."' AND `pass` = '".koduj($pass)."'");
  5. $row = mysql_fetch_array($zapytanie);
  6. if($row[12] == '1'){
  7. if(isSet($user) && isSet($pass)){
  8. if($user == $row[1] && $pass == $row[2]){
  9.  
  10. $_SESSION['zalogowany'] = true;
  11. $_SESSION['login'] = $row[1];
  12. switch($row[11]){
  13. case 1: $_SESSION['user'] = true; break;
  14. case 2: $_SESSION['moderator'] = true; break;
  15. case 3: $_SESSION['admin'] = true; break;
  16. echo('Zostałeś poprawnie zalogowany');
  17. }
  18. }
  19.  }
  20. }
  21. if($row[12] == '0'){
  22. echo('Twoje konto jest nie aktywne');
  23. }
  24. if(!isSet($user) && !isSet($pass)){
  25. echo('Wpiasno niepoprawne dane');
  26. }
  27. if($user != $row[1] && $pass != $row[2]){
  28. echo('Wpiasno niepoprawne dane');
  29. }
  30. }
  31. ?>

Dokładny problem jest taki, iż gdy wpisze obojętnie jakie dane to nic sie nie zmienia. Ani się nie wyświetla błąd, że wpisałem nie poprawne dane ani, że się zalogowałem. Wczoraj funkcja działała, a dzisiaj dodałem warunek, aby sprawdzało czy konto jest aktywne i już nie działa. W czym jest problem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


  1. <?php
  2. function zaloguj($user, $pass) {
  3.  
  4. $pass = md5($pass);
  5. $zapytanie = mysql_query("SELECT * FROM `users` WHERE `login` = '".koduj($user)."' AND `pass` = '".koduj($pass)."'");
  6. $row = mysql_fetch_array($zapytanie);
  7.  
  8. if($row[12] == '1'){
  9.  
  10.  if(!empty($user) && !empty($pass)) {
  11.  
  12.  if($user == $row[1] && $pass == $row[2]){
  13.  
  14. $_SESSION['zalogowany'] = true;
  15. $_SESSION['login'] = $row[1];
  16. switch($row[11]) {
  17. case 1: $_SESSION['user'] = true; break;
  18. case 2: $_SESSION['moderator'] = true; break;
  19. case 3: $_SESSION['admin'] = true; break;
  20. default: $_SESSION['user'] = true; break;
  21.  }
  22. echo('Zostales poprawnie zalogowany');
  23. }
  24. else echo('Login i/lub haslo sa bledne');
  25.  }
  26. else echo('Prosze wypelnic wszystkie pola');
  27. }
  28. else echo('Twoje konto nie jest aktywne');
  29. }
  30. ?>

Po drugie uzywaj mysql_real_escape_string() na zmienne do sql potem jak masz aktywacje konta zmiast dawac char/varchar daj INT i tyle

P.S oczywiscie przed wywolaniem funckji laczysz sie z baza?? i masz session_start()

TEraz przeczytalem dobrze twoje posty form zdaje sie dobry (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a co do aktywacji konta to posluchaj sprawdz jakiego typy masz kolumne z aktywacja jesli jest char/varchar to nr aktywaji ma byc w ''/"" jesli jest typu int to nie moze byc ''/"" ale w sumie masz == to nie sprawdza typow ale moze tez o to chodzi ogolnie sprawdz czy to co ci dalrm wyzej dziala

Ten post edytował marcio 7.06.2008, 12:59:51
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: 26.12.2025 - 17:18