• 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

0 głosów
115 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,150 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,150 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,150 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 195 wizyt
pytanie zadane 1 grudnia 2015 w PHP przez migacz100 Mądrala (5,410 p.)
+1 głos
3 odpowiedzi 595 wizyt
pytanie zadane 27 czerwca 2015 w PHP przez kamil_1996 Nowicjusz (130 p.)
+1 głos
1 odpowiedź 123 wizyt
pytanie zadane 6 marca 2021 w PHP przez Mateusz Wydra Początkujący (250 p.)

88,699 zapytań

137,306 odpowiedzi

306,722 komentarzy

58,890 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...