Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Logowanie - proste!
newmala
post 25.01.2012, 13:03:14
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.01.2012

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


Mam nadzieję, że grupa przedszkolaków mi pomoże smile.gif.

Chciałabym na stronce dać możliwość do przejścia dalej tylko wybranej osobie.
Czy dobrze myślę, że można do tego wykorzystać formularz?
  1. <form action="plik.php" method="post">
  2. Logowanie administratora : <br>
  3. LOGIN : <INPUT name="login" type = text size=20 maxlenght="20"><br>
  4. HASŁO : <INPUT name="haslo" type = passward size=20 maxlenght="20">
  5. <INPUT name="loguj" type = submit value = "Zaloguj"> <BR>
  6. </form>


Teraz nie wiem jak zadziałać w plik.php, tak aby na zły login i hasło, zakładam, że to będzie jakiś umówiony ciąg znaków, nie można zobaczyć zawartości tej stronki.
Nie wiem jak się za to zabrać.
Czy jest jakaś funkcja, która przerwie wykonywanie tego plik.php, jeśli umówiony login będzie zły?
Czytałam trochę o sesjach i stworzeniu tabeli dla userów, ale to jeszcze chyba za trudne dla mnie.

Czy moje podejście jest z góry złe?


Go to the top of the page
+Quote Post
Sephirus
post 25.01.2012, 13:09:02
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Podejście masz prawie dobre - akceptowalne dla pojedyńczo chronionej strony smile.gif

Wykorzystaj formularz, odbierz login i hasło wysłane POSTem ($_POST['...'])...

Sprawdź czy jest tak jak chciałeś i jeśli dane będą niezgodne to użyj funkcji DIE lub EXIT.

  1. if($login != $zalozonyLogin || $haslo != $zalozoneHaslo) die('BRAK DOSTĘPU!');
  2.  
  3. // dalsza część strony...
  4.  


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
newmala
post 25.01.2012, 15:30:06
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.01.2012

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


Ok, dzięki wszystko gra.

Tylko teraz próbuję w tym samym pliku zrobić jeszcze formularz i po naciśnięciu ok, dostaję komunikat brak dostępu.

  1. <form action="plik.php" method="post">
  2. <div>
  3. Podaj datę <br>
  4. <?php
  5. pokaz_date ($date1['mday'], $date1['mon'], $date1['year']);
  6.  
  7. ?>
  8. Potwierdź : <INPUT name="data_pot" type = submit value = "Ok"> <BR>


2.W jaki sposób można zczytać datę, którą wybrał uzytkownik?
Go to the top of the page
+Quote Post
Sephirus
post 26.01.2012, 08:38:46
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Rozumiem, że cały czas pracujesz na jednym pliku - w związku z tym za każdym razem musiałabyś się logować by z niego korzystać.

Trzeba dać znać skryptowi, że użytkownik jest już zalogowany by nie musiał logować się za każdym razem.

Jak tego dokonać? - To proste...

Wysyłasz formularz z logowaniem, skrypt sprawdza dane i jeśli uzytkownik podał prawidłowe to ustawia odpowiednią wartość w sesji:

  1.  
  2. if( [...tutaj sprawdzasz dane użytkownika czy są poprawne...])
  3. {
  4. $_SESSION['zalogowany'] = 'tak';
  5.  
  6. } else die('BRAK DOSTĘPU');


Teraz wystarczy że na początku pliku przed formularzem logowania oraz tą częścią sprawdzającą dasz IF'a, który będzie sprawdzał czy ta zmienna istnieje:

  1. if(!isset($_SESSION['zalogowany'])) // jeśli nie ma zmiennej - to znaczy user niezalogowany
  2. {
  3. if(isset($_POST['login'])) // jeśli user wysłał formularz...
  4. {
  5. // sprawdzamy dane podane przez usera i ustawiamy $_SESSION['zalogowany'] jeśli podał poprawne
  6. }
  7. else // jeśli nie loguje się w danej chwili wyświetlamy formularz
  8. {
  9. // kod formularza
  10. die; // kończymy srkypt bo user nie ma prawa zobaczyc co jest dalej
  11. }
  12. }
  13.  
  14. // tutaj kod dla zalogowanego uzytkownika


Sesja przechowa nam dane czy użytkownik jest zalogowany (działa dla pojedynczego użytkownika) wink.gif

HTH wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post

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: 12.06.2025 - 23:01