• 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

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

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...