Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Skrypt logownaia nie tworzy sesji
Forum PHP.pl > Forum > Przedszkole
major697
cześć mam taki krótki skrypt logowania:

Formularz logowania:
  1. <legend>Logowanie do magazynu</legend>
  2. <form action="login.php" method="post" accept-charset="utf-8">
  3. <div class="input-group input-group-sm">
  4. <span class="input-group-addon" id="sizing-addon3">
  5. <span class="glyphicon glyphicon-user" aria-hidden="true"></span>
  6. </span>
  7. <input type="text" class="form-control" name="login" placeholder="wpisz swoj login" aria-describedby="sizing-addon3">
  8. </div>
  9. <br />
  10. <div class="input-group input-group-sm">
  11. <span class="input-group-addon" id="sizing-addon3">
  12. <span class="glyphicon glyphicon-piggy-bank" aria-hidden="true"></span>
  13. </span>
  14. <input type="password" class="form-control" name="pass" placeholder="podaj haslo" aria-describedby="sizing-addon3">
  15. </div>
  16. <br />
  17. <input type="submit" class="btn btn-primary" name="log_in" value="Zaloguj"></input>
  18. </form>



plik index.php

  1. <?php
  2.  
  3. include 'db.php';
  4. if (isset($_SESSION['logowanie'])) {
  5. include 'panel.php';
  6. } else {
  7. include 'login_page.php';
  8. }
  9.  
  10. ?>


plik login.php

  1. <?php
  2. //ustawienie sesji
  3.  
  4. include 'db.php';
  5.  
  6. //-------------------------------------------LOGOWANIE UZYTKOWNIKA--------------------------------------------------
  7.  
  8. if (isset($_POST['log_in'])) {
  9. $login = mysqli_real_escape_string($db_mysqli, $_POST['login']);
  10. $haslo = mysqli_real_escape_string($db_mysqli, $_POST['pass']);
  11. $hasloSha1 = sha1($haslo);
  12.  
  13. $result = $db_mysqli->prepare("SELECT haslo FROM uzytkownicy WHERE login=? AND haslo=?");
  14. $result->bind_param('ss', $login, $hasloSha1);
  15. $result->execute();
  16. $result->store_result();
  17. $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
  18. //sprawdzenie czy taki uzytkownik istnieje
  19. if ($result->num_rows == 1) {
  20. $_SESSION['logowanie'] = $login_user;
  21. header("Location: panel.php");
  22.  
  23. } else {
  24.  
  25. echo "Nie ma takie uzytkownika w bazie";
  26.  
  27. }
  28.  
  29. ?>


plik panel.php

  1. <?php
  2. // Sprawdzenie czy istnieje sesja
  3.  
  4. if (isset($_SESSION['logowanie'])) {
  5. $login_session = $_SESSION['logowanie'];
  6. echo "Witaj zalogowany";?>
  7. <a href="logout.php" style="font-size:18px">Wyloguj</a>
  8.  
  9. <?php } else {
  10. echo "Nie istnieje taka sesja";
  11. }
  12.  
  13. ?>


oraz logout.php

  1. <?php
  2. header("Location: index.php");
  3. }
  4.  
  5. ?>



Problem polega na tym, że skrypt nie tworzy mi sesji cały czas po zalogowaniu wyrzuca Nie istnieje taka sesja. Wie ktoś co mogłem źle zrobić questionmark.gif

nospor
Wlacz wyswietlanie wszystkich bledow to moze jakis blad sie pojawi
Johnas
  1. <?php


Zawsze jako pierwsze ! Zmienna $login_user nie widzę aby była gdzieś zdefiniowana :/
elmozaur
dodam jeszcze że nie pakuj czegoś takiego jak session_start lub session_destroy do ifów bo wtedy nie widać czy coś sie posypało...
i tak jak chłopaki napisali session start jako pierwsze.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.