• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dołączenie sesji do systemu logowania PHP

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
575 wizyt
pytanie zadane 12 kwietnia 2019 w PHP przez Sinq Nowicjusz (120 p.)

Cześć. PHP jeszcze nie tknąłem ale potrzebuję wykonać prosty system logowania. Chciałbym, aby użytkownik nie mógł wejść na daną podstronę bez zalogowania - wiem, że można do tego wykorzystać sesję PHP. Nie wiem jednak jak to zaimplementować.

<body>
    <form method="post" class="login-form">
        <div class="input-container">
            <i class="fas fa-user"></i>
            <input type="text" name="login" placeholder="Login" required>
        </div>
        <div class="input-container">
            <i class="fas fa-lock"></i>
            <input type="password" name="password" placeholder="Hasło" required>
        </div>
        <button name="submit">Logowanie</button>
    </form>
</body>

</html>

<?php

if(isset($_POST['submit'])){
    $user = $_POST['login'];
    $pass = $_POST['password'];
    if($user=="admin" && $pass=="pass"){
        $_SESSION['login'] = true;
        header('Location: generator.html');
    }
}

?>

 

1 odpowiedź

0 głosów
odpowiedź 12 kwietnia 2019 przez Luna Cognita Dyskutant (8,130 p.)
Przecież jest ok? Dodaj jeszcze action="" w <form> jak chcesz się odwołać do tego samego pliku
komentarz 12 kwietnia 2019 przez Sinq Nowicjusz (120 p.)
Logowanie działa, ale chciałbym zablokować użytkownikowi wejście na podstronę "generator.html" jeżeli nie będzie zalogowany.
komentarz 12 kwietnia 2019 przez Luna Cognita Dyskutant (8,130 p.)
dodaj na początku pliku sprawdzanie:

<?php if($_SESSION['login']) { ?>

 

i na końcu pliku:

 

<?php } ?>
komentarz 12 kwietnia 2019 przez Sinq Nowicjusz (120 p.)

Dodałem to do pliku, do którego ma być przekierowany użytkownik po zalogowaniu i wyskakuje błąd: Notice: Undefined variable: _SESSION. Po tym dodałem session_start() na początku i wyskakuje: Notice: Undefined index: login.

komentarz 12 kwietnia 2019 przez Luna Cognita Dyskutant (8,130 p.)
edycja 13 kwietnia 2019 przez Luna Cognita
Jak sama nazwa błędu wskazuje, zmienne nie są zadeklarowane, możesz je zadeklarować dodając np. $sessionLogin = $_SESSION['login'] na początku pliku itp, a następnie sprawdzasz:

 

<?php $sessionLogin = $_SESSION['login']; if($sessionLogin){ ?>

i na końcu dajesz

 

<?php } else { echo 'Login lub haslo jest niepoprawne.'; } ?>

Podobne pytania

0 głosów
4 odpowiedzi 851 wizyt
pytanie zadane 1 grudnia 2015 w PHP przez migacz100 Mądrala (5,410 p.)
+1 głos
3 odpowiedzi 959 wizyt
pytanie zadane 27 czerwca 2015 w PHP przez kamil_1996 Nowicjusz (130 p.)
+1 głos
1 odpowiedź 356 wizyt
pytanie zadane 6 marca 2021 w PHP przez Mateusz Wydra Nowicjusz (240 p.)

93,187 zapytań

142,203 odpowiedzi

322,018 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1950p. - Anonim 3619784
  12. 1909p. - Dawid128
  13. 1901p. - Mikbac
  14. 1744p. - rafalszastok
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...