Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] logowanie z wykorzystaniem bazy danych
em-ba
post
Post #1





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


Witam, nie wiem jak uzyskać taki system logowania, żeby mi sprawdzał login i hasło z danymi w bazie. Do tej pory korzystałem z góry zdefiniowanych loginów i haseł w skrypcie.
Kombinowałem różnymi sposobami: z początku połączenie z baza, kolejnie sprawdzanie danych ale wiem, że jest jeszcze potrzebne cookie
Kod
       <?php
            if(isset($_GET['akcja']) && ($_GET['akcja'] == "wyloguj"))
            {
               $_SESSION['zalogowany'] = 0;
               echo "Wylogowano<a href='index.php'> | Odśwież</a>";
            }
      
            $a = 1800;
      
            if ($_SESSION['zalogowany'] == 1)
            {
               if (time() - $_SESSION['czas'] > $a)
               {
                  $_SESSION['zalogowany'] = 0;
                  echo "Sesja zakończona. Nieczynność dłuższa niż $a
       <a href='index.php'>Odśwież</a>";
               }
            }
      
            if ((isset($_POST['login']) && isset($_POST['haslo'])) || ($_SESSION['zalogowany'] == 1))
            {
               $_POST['login'] = addslashes(strip_tags($_POST['login']));
               $_POST['haslo'] = addslashes(strip_tags($_POST['haslo']));
      
               if ((!empty($_POST['login']) && !empty($_POST['haslo'])) || ($_SESSION['zalogowany'] == 1))
               {
                  if ((($_POST['login'] == 'jan') && ($_POST['haslo'] == 'kowalski')) || ($_SESSION['zalogowany'] == 1))
                  {
                      echo "Zalogowano jako: " .$_POST['login'];
      
                       $_SESSION['zalogowany'] = 1;
                       $_SESSION['czas'] = time();
      
                      echo "Co chcesz teraz zrobić?? <br/>
       <a href='index.php'>Odśwież</a> | <a href='index.php?akcja=wyloguj'>Wyloguj się</a>";
                  }
                  else
                      echo "Zły login lub hasło, spróbuj <a href='index.php'>ponownie</a>";
               }
               else
                   echo "Nie został podany login lub haslo, spróbuj <a href='index.php'>ponownie</a>";
            }
       /*   else
                echo "Nie zostały przysłane żadne zmienne, spróbuj <a href='odbior.php'>ponownie</a>";
       */
       ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
potreb
post
Post #2





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

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


Trochę ci skróciłem kod:
  1. <?php
  2. $polaczenie = @mysql_connect ('localhost', 'root', '') or die ("nie udało sie połączyć");
  3. mysql_select_db('test2') or die ("Nie mozna zlokalizowac bazy danych");
  4. echo $_SESSION['zalogowany']."<br>";
  5. echo $_SESSION['czas'];  
  6.  
  7. if($_SESSION['zalogowany'] == 0)
  8. {
  9. echo ' <form action="aaa.php" method="POST">
  10.  <table border="0">
  11. <tr><td>login</td><td> <input type="text" name="login" maxlenght="30" size="30"></td></tr>
  12. <tr><td>hasło</td><td> <input type="password" name="haslo" maxlenght="30" size="30"></td></tr>
  13. <tr><td colspan="2"><input type="submit" value="dodaj" name="send">
  14.  </table>
  15.  </form>';
  16.  
  17. if (isset($_POST['login']) && isset($_POST['haslo']))
  18. {
  19. $login = addslashes(strip_tags($_POST['login']));
  20. $haslo = addslashes(strip_tags($_POST['haslo']));
  21. $sql = mysql_query("SELECT * FROM uzytkownicy WHERE login = '$login' AND haslo = '$haslo' LIMIT 1");
  22. if(mysql_num_rows($sql) == 1) {
  23. echo "zostałeś zalogowany jako: $login";
  24. $_SESSION['zalogowany'] = 1;
  25. $_SESSION['czas'] = time();
  26. return true;
  27. } else {
  28. echo "Twoje dane nie zgadzają się!";
  29. }
  30. } 
  31. } else {
  32. echo "dane po zalogowaniu";
  33. }
  34.  
  35.  
  36. $a = 2;
  37. if ($_SESSION['zalogowany'] == 1)
  38. {
  39. if (time() - $_SESSION['czas'] > $a)
  40. {
  41. $_SESSION['zalogowany'] = 0;
  42. echo "Sesja zakończona. Nieczynność dłuższa niż $a <br /><a href='index.php'>Odśwież</a>";
  43. }
  44. }
  45.  
  46. ?>


Z resztą sobie poradzisz już. Pisane z palca więc mogą być błędy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował potreb 20.01.2008, 14:13:09
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: 4.10.2025 - 10:10