Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> logowanie, wadliwe logowanie
batat
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 8.03.2004
Skąd: Stalowa Wola

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


mam maly problem z moim logowaniem, ktore wyglada tak:

  1. <? ob_start();
  2.  
  3.  
  4. require_once(&#092;"functions.php\"); 
  5. connect(); 
  6.  
  7. $wyk = mysql_query(&#092;"SELECT * FROM users\") or die (\"Zapytanie zakończone niepowodzeniem\"); 
  8. while($wiersz = mysql_fetch_array($wyk)){ 
  9. echo ''.$wiersz['user'].' '.$wiersz['haslo'].'<br/>';
  10. if ( $_POST['login'] == $wiersz['user'] && $_POST['pass'] == $wiersz['haslo'] ){ 
  11. $_SESSION['jest'] = true; 
  12. } 
  13. else { 
  14. $_SESSION['jest'] = false; 
  15. } 
  16.  }
  17.  
  18.  if ( $_SESSION['jest'] == true ){ 
  19. header(&#092;"Location: edytuj.php\");
  20.  } 
  21.  elseif ( $_SESSION['jest'] == false ) { 
  22. echo '<form action=\"login.php\" method=\"post\"
  23. <table align=center> 
  24. <tr><td colspan=2 align=center>Zaloguj się: </td></tr> 
  25. <tr><td>Login:</td><td><input type=\"text\" name=\"login\"/></td></tr> 
  26. <tr><td>Hasło:</td><td><input type=\"password\" name=\"pass\"/></td></tr> 
  27. <tr><td colspan=2 align=center><input type=\"submit\" name=\"submit\" value=\"Zaloguj\"/></td></tr> 
  28. </form></table><BR>'; 
  29.  }
  30.  


tylko problem w tym, ze logowanie dziala tylko dla ostatniego usera wpisanego w bazie, dla reszty nie :/ jak to zmienic (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) prosze o pomoc, bo zalezy mi na czasie (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) z gory bardzo dziekuje (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Nie lepiej zrobic tak:
  1. <?php
  2. $wyk = mysql_query('SELECT * FROM users WHERE user = '.$_POST['login'].' AND haslo = '.$_POST['pass']);
  3. if(mysql_num_rows($wyk) > 0)
  4. {
  5.  $_SESSION['jest'] = true; 
  6. } 
  7. else
  8. { 
  9.  $_SESSION['jest'] = false; 
  10. }
  11. ?>

Radze dodac jakies kodowanie hasla, bo z tego co widac to nie uzywasz zadnego.
Go to the top of the page
+Quote Post
batat
post
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 8.03.2004
Skąd: Stalowa Wola

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


ten kod cos nie dziala :/ nie weim czego, chyba nie masz zamknietego polecenia SELECT apostrofem,a le uzupelnialem to i dalej nie chodzi :/ a po drugie nie rozumiem po co zliczasz liczbe linijek (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) :/ prosilbym o male wyjasnienie albo inny sposob na to logowanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a kodowaniem zajme sie pozniej (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)
Go to the top of the page
+Quote Post
crash
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


A sorry, mala polyka.
  1. <?php
  2. $wyk = mysql_query('SELECT * FROM users WHERE user = \"'.$_POST['login'].'\" AND haslo = \"'.$_POST['pass'].'\"');
  3. ?>

mysql_num_rows" title="Zobacz w manualu PHP" target="_manual zostalo uzyte zeby sprawdzic czy zapytanie SQL zwrocilo jakis wiersz, jesli tak znaczy to, ze podano dobre dane.

Jezeli dalej bedzie cos nie tak z kodem to zobacz czy nazwy kolumn w tabeli i zmiennych przekazanych przez POST sa dobre.

Ten post edytował crashu 25.12.2004, 22:41:59
Go to the top of the page
+Quote Post
Vertical
post
Post #5





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


  1. <?php
  2. $wyk = mysql_query(&#092;"SELECT * FROM users WHERE user = '$_POST[login]'\");
  3. $row_count = mysql_num_rows($wyk);
  4. if($row_count == 0)
  5. {
  6. echo 'Nie ma takiego usera';
  7. }
  8. $wiersz = mysql_fetch_array($wyk);
  9. if($wiersz['user'] != $_POST['login'])
  10. {
  11. echo 'Niepoprawny user!';
  12. } elseif($wiersz['haslo'] != $_POST['pass']) 
  13. {
  14. echo 'Niepoprawne haslo!':
  15. } else {
  16. echo 'Zalogowany';
  17. }
  18. ?>
Go to the top of the page
+Quote Post
batat
post
Post #6





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 8.03.2004
Skąd: Stalowa Wola

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


Ok, dzieki Vertical logowanie juz chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) tylko mam jeszcze problem z wylogowaniem sie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

do ostatniego warunku else w logowaniu dodalem:
  1. <?php
  2. else {
  3. echo 'Zalogowany';
  4. $_SESSION['jest'] = true;
  5. header(&#092;"location: edytuj.php\");
  6. }
  7. ?>


ale teraz przy wylogowywaniu:
  1. <?php
  2. if ($_SESSION['jest'] == true)
  3. { 
  4. echo '<div align=center><BR>Zostaleś wylogowany!<BR>
  5. <a href=login.php>Zaloguj ponownie</a><BR>
  6. <a href=index.php>Powrót do strony głównej</a></div>';
  7. }
  8.  
  9.  
  10. else {
  11. header(&#092;"location: login.php\"); 
  12. } 
  13. ?>


nic sie nie dzieje :/
Go to the top of the page
+Quote Post

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: 23.08.2025 - 20:59