Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Logowanie a sesja
!*!
post 5.07.2008, 01:46:02
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Formularz, przekierowuje mnie do:

  1. <?php
  2. require_once("connect.php");
  3. require_once("functions.php");
  4.  
  5.  
  6. if(!logon()) {
  7. header('Location: <a href=\"http://localhost/');&#092;" target=\"_blank\">http://localhost/');</a>
  8. exit();
  9. }
  10.  
  11. $userid = $_SESSION['id'];
  12.  
  13. //i tu dalej odczyt właściwa strona itp.
  14. ?>


functions.php wygląda tak:

  1. <?php
  2. function logon() {
  3.  
  4. //czas sesji w sekundach
  5. $intTimeoutSeconds = 300;
  6.  
  7. if(isset($_SESSION['intLastRefreshTime'])){if(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time()){session_destroy(); header('location: <a href=\"http://localhost/');}}&#092;" target=\"_blank\">http://localhost/');}}</a>
  8. $_SESSION['intLastRefreshTime'] = time();
  9.  
  10.  
  11. if(isset($_POST['user']) && isset($_POST['pass'])) {
  12. $login = htmlspecialchars($_POST['user']);
  13. $haslo = md5(htmlspecialchars($_POST['pass']));
  14.  
  15.  
  16. $sprawdzlogin = mysql_query("SELECT id, login, haslo FROM userdata WHERE haslo = '$haslo' AND login = '$login' LIMIT 1");
  17. $wyniksprawdz = mysql_num_rows($sprawdzlogin);
  18.  
  19. if($wyniksprawdz == 0) {
  20. $error=1; 
  21. echo 'Niepoprawne Login lub Hasło'; 
  22.  
  23. }
  24. }
  25.  
  26.  
  27.  if(!isset($_SESSION['logon']) || !isset($_SESSION['login']) || !isset($_SESSION['password']) || !isset($_SESSION['ip'])) {
  28. $error=1; 
  29. }
  30.  
  31. $login = $_SESSION['login'];
  32. $password = $_SESSION['password'];
  33. $ip = $_SESSION['ip'];
  34. if($_SERVER['REMOTE_ADDR'] != $ip) {
  35.  
  36. }
  37.  
  38. if ($error==0) { 
  39. $userid=mysql_fetch_assoc($sprawdzlogin);
  40. $_SESSION['id']=$userid['id'];
  41. $_SESSION['logon'] = 1;
  42. $_SESSION['login'] = $_POST['user'];
  43. $_SESSION['password'] = $_POST['pass'];
  44. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  45.  
  46. }
  47.  
  48.  if($_SESSION['logon'] == "1") {
  49. return 1;
  50. } 
  51. else {
  52. $error=1; 
  53. }
  54.  
  55. }
  56. ?>


Jednak przy logowaniu skrypt wykonuje się bardzo długo, tak jakby się zapętlał... I zabardzo nie wiem dlaczego. W ogóle taki sposób na logowanie jest dobry?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
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 - 05:03