• 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

Cloud VPS
0 głosów
688 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 988 wizyt
pytanie zadane 1 grudnia 2015 w PHP przez migacz100 Mądrala (5,410 p.)
+1 głos
3 odpowiedzi 1,068 wizyt
pytanie zadane 27 czerwca 2015 w PHP przez kamil_1996 Nowicjusz (130 p.)
+1 głos
1 odpowiedź 415 wizyt
pytanie zadane 6 marca 2021 w PHP przez Mateusz Wydra Nowicjusz (240 p.)

93,481 zapytań

142,414 odpowiedzi

322,758 komentarzy

62,893 pasjonatów

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

Kursy INF.02 i INF.03
...