Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Logowanie coś nie tak
Wieczny
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


Witam, mam problem nie działa logowanie mianowicie sam nie wiem co jest grane kombinowałem i tylko gorzej zrobiłem ... To jest fragment kodu odpowiedzialnego za logowanie w PHP

  1. <?php
  2. $result = mysql_query("SELECT user_id, user_login
  3.                         FROM users
  4.                         WHERE user_login='".($_POST['login'])."'");
  5.                      
  6.       $row = mysql_fetch_array($result);
  7.  
  8.  $login = $_SESSION['user_login'] = mysql_real_escape_string($row['user_login']);
  9.  
  10. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeť wylogowany z serwisu";}
  11.  if($_SESSION["zalogowany"]!=1){
  12.     if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  13.        if(mysql_num_rows(mysql_query("select * from users where user_login = '".$_POST["login"]."' AND user_haslo = '".$_POST["haslo"]."'"))){
  14.            echo "Zalogowano poprawnie.";
  15.            $online_user = $_SESSION["zalogowany"]=1;
  16.            }
  17.        else echo ("Podano złe dane!!!");
  18.        }
  19.  
  20.    
  21. }
  22. else
  23.  
  24.  $now = time();
  25.  
  26. if (!isset($_SESSION['start']))
  27.  {
  28.   $_SESSION['start'] = $now;
  29.  }
  30.   elseif ($_SESSION['start'] < $now - 3600)
  31.    {
  32.     session_destroy();
  33.      echo "Czas(10s) sesji minąl. <a href='login.php'>Zaloguj się ponownie</a>";
  34.    }
  35. ?>


a to fragment kodu w SMARTY

  1. {if $online_user neq NULL}
  2. Zostales zalogowany jako {$user_login}
  3.  
  4. {else}
  5. <div style='padding: 11px;'>
  6.  
  7. <form action='index22.php' method=post>
  8. Login: <input size='8' class='input' type=text name=login> <a link href=''> Zarejestruj sie</a> <br>
  9. Haslo: <input size='8' class='input' type=password name=haslo>
  10. <input type='hidden' name='zalogowany' value='1' class='input'>
  11. <input type='image' src='templates/img/login.jpg' value='submit' onfocus='blur()' />
  12.  
  13.  
  14. </form>
  15. </div>
  16. {/if}


Pomoże ktoś ?!
Go to the top of the page
+Quote Post
mecenas
post
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 5
Dołączył: 23.09.2008
Skąd: Chełmno/Toruń

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


zanim zacznę czytać kod - jakie są "objawy" tegoż niedziałania?
Go to the top of the page
+Quote Post
Wieczny
post
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


po prostu nie ma zadnego komunikatu zwyczajnie nie loguje ...
Go to the top of the page
+Quote Post
mecenas
post
Post #4





Grupa: Zarejestrowani
Postów: 80
Pomógł: 5
Dołączył: 23.09.2008
Skąd: Chełmno/Toruń

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


Spróbuj tak:
  1. <?php
  2. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  3.        if(mysql_num_rows(mysql_query("select * from users where user_login = '".$_POST["login"]."' AND user_haslo = '".$_POST["haslo"]."' LIMIT 1"))>0){
  4.            echo "Zalogowano poprawnie.";
  5.            $_SESSION["zalogowany"]=1;
  6.           $online_user = $_SESSION["zalogowany"];
  7.            }
  8. ?>


LIMIT 1 daje chociaż minimalnie bardziej optymalne zapytanie, natomiast o ile się nie mylę mysql_num_rows zwraca inta...

Wogóle straszne śmieci masz w tym kodzie... Ale musisz mi wybaczyć jeśli się mylę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) nigdy nie tykałem smartów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Czy smarty dbają o zapobieganie sql injection? Jeśli nie, powinieneś o tym pamiętać.
Go to the top of the page
+Quote Post
potreb
post
Post #5





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


  1. {if $online_user neq NULL}
  2. Zostales zalogowany jako {$user_login}
  3. {/if}
  4. {else}
  5. <div style='padding: 11px;'>
  6.  
  7. <form action='index22.php' method=post>
  8. Login: <input size='8' class='input' type=text name=login> <a link href=''> Zarejestruj sie</a> <br>
  9. Haslo: <input size='8' class='input' type=password name=haslo>
  10. <input type='hidden' name='zalogowany' value='1' class='input'>
  11. <input type='image' src='templates/img/login.jpg' value='submit' onfocus='blur()' />
  12.  
  13.  
  14. </form>
  15. </div>
  16. {/else}
Go to the top of the page
+Quote Post
Wieczny
post
Post #6





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


potreb nie robi się tak jak napisałeś. a co do pierwszego posta kolegi to nie działa i tak ;/

o działa następny problem gdy zaloguje się jest ok pokazuje stosowny komunikat jest luks odświeżam dalej jestem zalogowany a gdy klikam w jakiś link i strona po przez link się przeładuje to nagle juz nie jestem zalogowany czas sesji ustawilem na 3600 s
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A ciasteczko sesyjne nadal jest w przeglądarce? Czy może inny SID?
Go to the top of the page
+Quote Post
Wieczny
post
Post #8





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


Nie wiem. (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To sprawdź... Firebug...

A właściwie, to każda porządna przeglądarka jest w stanie Ci to wyświetlić.
Go to the top of the page
+Quote Post
Wieczny
post
Post #10





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


Mam mozille Firefox nie mam pojęcia gdzie to sprawdza się w tej przeglądarce ;/
Go to the top of the page
+Quote Post
mike
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Jaja sobie robisz? Bierzesz się za pisanie stron a nie potrafisz obsługiwać przeglądarki?
Opanuj się (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
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: 24.08.2025 - 13:14