Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Dodanie $_SESSION do logowania
saren_as
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 21.07.2008

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


Mam cos takiego:
  1. <html>
  2. <head>
  3. <title>Login</title>
  4. </head>
  5.  
  6. <?php
  7. $hidden_hash_var='saren';
  8. // polaczenie z baza danych
  9. include('connect.php');
  10.  
  11. @$user_name = $_POST['user_name'];
  12. @$password = $_POST['password'];
  13.  
  14. // wywolanie funkcji logowania
  15. user_login($user_name,$password);
  16.  
  17. // funkcja sprawdzajaca poprawnosc logowania
  18. function user_login($user_name,$password) {
  19.    global $feedback;
  20.    if (!$user_name || !$password) {
  21.        $feedback .=  ' ERROR - Missing user name or password ';
  22.        return false;
  23.    } else {
  24.        $user_name=strtolower($user_name);
  25.        $password=strtolower($password);
  26.        $sql="SELECT * FROM user WHERE user_name='$user_name' AND password='". md5($password) ."'";
  27.        $result=mysql_query($sql);
  28.        if (!$result || mysql_numrows($result) < 1){
  29.            $feedback .=  ' ERROR - User not found or password incorrect ';
  30.            return false;
  31.        } else {
  32.            if (mysql_result($result,0,'is_confirmed') == '1') {                
  33.                user_set_tokens($user_name);
  34.                $feedback .=  ' SUCCESS - You Are Now Logged In ';
  35.                return true;
  36.            } else {
  37.                $feedback .=  ' ERROR - You haven't Confirmed Your Account Yet ';
  38.                return false;
  39.            }
  40.        }
  41.    }
  42. }
  43.  
  44.  
  45. // funkciaj ustawiajaca cookies
  46. function user_set_tokens($user_name) {
  47.    global $hidden_hash_var,$user_name,$id_hash;
  48.    if (!$user_name) {
  49.        $feedback .=  ' ERROR - User Name Missing When Setting Tokens ';
  50.        return false;
  51.    }
  52.    $user_name=strtolower($user_name);
  53.    $id_hash= md5($user_name.$hidden_hash_var);
  54.  
  55.    setcookie('user_name',$user_name,(time()+2592000),'/','',0);
  56.    setcookie('id_hash',$id_hash,(time()+2592000),'/','',0);
  57. }
  58.  
  59. //wyswietlenie komunikatu
  60. echo $feedback. "<br>";
  61. echo $_COOKIE['user_name'];
  62. echo "<br >";
  63. echo $_COOKIE['id_hash'];
  64. ?>
  65.  
  66. <!-- Logowanie -->
  67. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  68. Imie: <input type="text" name="user_name" />
  69. Haslo: <input type="password" name="password" />
  70. <input type="submit" value="Zaloguj sie" />
  71. <br>
  72.  
  73. </body>
  74. </html>


Poprzerabialem to na swoje potrzeby i wszystko dziala. Chcialem sie tylko dowiedziec jak teraz do tego dodac sesje z wykorzystaniem cookies? Ta funkcja tworzaca cookies dziala ok, ale nie wiem za bardzo jak to teraz wszystko do tego dodac. Jestem jeszcze za glupi na samodzielne analize wiec prosze o krotkie nakierowanie jak zrobic teraz, abym po zalogowaniu zostal przeniesiony na tajna.html? W sumie juz duzo o tym czytalem, ale jakos mimo to stoje w miejscu.

Ten post edytował saren_as 27.11.2008, 12:05:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nitek
post
Post #2





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

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


zależy jak wpisujesz w przeglądarkę? jeśli raz się zalogujesz, to sesja jest zazwyczaj trzymana, zanim nie zamkniesz okna przeglądarki. Do tej pory jesteś nadal 'zalogowany'.

Zawsze możesz zrobić tak, że jeśli ktoś poprawnie się zaloguje, to ustawiasz zmienną $_SESSION['poprawne_logowanie']=1, w każdym innym wypadku na 0. Potem sprawdzasz tylko na innych stronach, czy ta zmienna jest równa 1, a nie, czy istnieje.
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 Aktualny czas: 16.10.2025 - 19:09