Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL][HTML] Tworzenie sesji
wiedzma92
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.03.2016

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


Witam. Od kilku tygodni bawię się w programowanie i chyba porwałam się z motyką na Słońce. Stworzyłam formularz logowania, który działa bez zarzutu, teraz chcę napisać kod, który po zalogowaniu utworzy sesję z ID użytkownika i na jej podstawie przeprowadzi proces autoryzacji usera, znajdującego się w bazie MySQL. Niestety, za nic mi to nie wychodzi...

W skrypcie jest na pewno masa błędów, ale wierzę, że ktoś z szanownych kolegów i koleżanek forumowych wyjaśni mi, co mam zrobić, żeby było dobrze (IMG:style_emoticons/default/smile.gif)

  1. <?php
  2. $id = $_SESSION['id'];
  3. $wylogowanie = $_POST['wylogowanie'];
  4.  
  5. include('baza_MySQL.php');
  6. $zapytanie = $mysql->prepare("SELECT * FROM uzytkownicy WHERE id = :id");
  7. $zapytanie->bindValue(':id', $id, PDO::PARAM_INT);
  8. $zapytanie->execute();
  9. $uzytkownik = $zapytanie->fetch();
  10.  
  11. echo 'Jesteś zalogowany. ID: '.$uzytkownik.'<br>';
  12. ?>
  13.  
  14. <!DOCTYPE html>
  15. <html>
  16. <head>
  17. <title>Wyloguj</title>
  18. <meta charset="utf-8">
  19. </head>
  20. <body>
  21.  
  22. <?php
  23. if (isset($_POST['wylogowanie'])) {
  24. header('Location: logowanie.php');
  25. }
  26. ?>
  27.  
  28. <form method="post" action="">
  29. <input type="submit" id="wylogowanie" name="wylogowanie" value="Wyloguj"></input>
  30. </form>
  31.  
  32. </body>
  33. </html>


Ten post edytował wiedzma92 17.03.2016, 14:05:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Geniesis
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 4.12.2013
Skąd: Śląsk

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


Witam, całość wygląda dosyć niekompletnie i nie logicznie jeżeli dobrze zrozumiałem Twoje intencje,
1)Przed logowaniem powinno zostać sprawdzone czy użytkownik już nie jest zalogowany
a) jest -> nie można wejść na stronę z formularzem
-przekierowanie
-opcjonalnie komunikat błędu
b)nie jest -> pojawia się formularz
-wyświetlanie formularza
-po wciśnięciu "submit"
=validacja danych
=polecenie SELECT id, username, password FROM db_name.table_name u WHERE u.username=:username AND u.password=:password LIMIT 1 (oczywiście wszystko bindowane!)
*jeżeli zwróci puste to błąd logowania (nie prawidłowe dane)
*jeżeli zwróci wynik to przechodzi dalej
= ustawienie sesji (id, username)

2)Przed wylogowaniem powinno zostać sprawdzone czy użytkownik już jest zalogowany
a) nie jest -> nie można wejść na stronę z formularzem
-przekierowanie
-opcjonalnie komunikat błędu
b)jest -> pojawia się przycisk
-po naciśnięciu usunięcie sesji użytkownika
-przekierowanie

Ten post edytował Geniesis 17.03.2016, 14:53:25
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: 24.12.2025 - 10:09