![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 10.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
[php][/php]Mam taki skrypt logowania, loguję się z powodzeniem. Jednak gdy idę na index.html, i wracam na stronę z logowaniem, nie ma tam buttona wyloguj (jak powinno byc) a ponownie jest formularz logowania. Tak, jakby po przejściu na inna podstronę sam wylogował użytkownika.
Gdy operuję tylko na stronie z logowaniem, działa prawidłowo, czyli po zalogowaniu jest wyloguj, a po wylogowaniu wyświetla formularz logowania. CODE <?PHP session_start(); if (!isset($_SESSION['logged'])) { $_SESSION['logged'] == false;} function form(){ echo ' <form action="" method="post"> <label for="login">Login</label> <input type="text" name="login" required> <br> <label for="password">Haslo</label> <input type="password" name="password" required> <br> <input type="submit" name="wyslano" value= zaloguj <a href="#" class="btn"></a> </form> '; } //Połączenie z bazą danych MySQL PDO $db = new PDO('mysql:host=localhost;dbname=logowanie', 'beatam', '123', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")) or die(); if(isset($_POST['wyslano'])){ // czy submit wciśnięty //białe znaki $login = trim($_POST['login']); $password = trim($_POST['password']); //Kodowanie hasła $password = sha1($password); //czy użytkownik o podanych danych istnieje $stmt = $db->prepare("SELECT * FROM users WHERE login=:login AND password=:password"); $stmt->bindValue(":login", $login, PDO::PARAM_STR); $stmt->bindValue(":password", $password, PDO::PARAM_STR); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); if($stmt->rowCount()!=0){ echo "jestes zalogowany!"; /* * sesja dla zalogowanych * * */ $_SESSION['logged'] == true; $_SESSION['user_id'] == $row['id']; ?> <form action="" method="post"> <input type="submit" name="wyloguj" value="Wyloguj" /> </form> <?php if (isset($_POST['wyloguj'])) { $_SESSION['zalogowany'] == false; } } else{ echo '<div style="color:red">Login i/lub hasło są nieprawidlowe</div>'; } } else form(); ?> Chciałabym z góry dodac, że w index.html na samej górze kodu dodałam "<?php session_start(); ?>" mimo to, nie działa. Powinnam jeszcze coś dopisac ? Gdzie zrobiłam ten kolosalny błąd? Dziękuję z góry za wszelką pomoc. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 23:26 |