![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 23.12.2011 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem z wylogowywaniem się ze strony. logowanie.php wygląda tak Kod <?php ob_start(); session_start(); // rozpoczęcie sesji ?> <?php include('header.php'); ?> <div class="content"> <? include('inc/db.php'); session_start(); //sesje, do logowania ob_start(); //emulacja headerow $login = isset($_SESSION['login']) ? $_SESSION['login'] : mysql_escape_string($_POST['login']); //filtracja zmiennej $haslo = mysql_escape_string(md5($_POST['pass'])); //filtracja + haszowanie hasla $zapytanie = mysql_query("SELECT * FROM rejestracja WHERE login = '$login'"); //pobranie rekordow $dane = mysql_fetch_array($zapytanie); /* sprawdzamy poprawnosc przeslanych danych */ if(isset($_POST['login']) && isset($_POST['pass'])) { if($login ==''.$dane['login'].'' && $haslo ==''.$dane['haslo'].'') { $_SESSION['admin']='ok'; //sesja przyjmuje wartosc 'ok' gdy dane z formularza zgadzaja sie z danymi z bazy $_SESSION['login']=''.$dane['login'].''; setcookie("log" , "log", time()+3600, "/","", 0); //tworzymy ciastko header("Location: index.php"); //przenosimy na strone } else { echo 'Logowanie nie powiodło się.'; } //w przypadku zlych danych } if(!isset($_SESSION['admin']) && !isset($_SESSION['login']) && $_SESSION['admin'] != 'ok' && !isset($_POST['submit']) && $_GET['p']!='wyloguj' && !isset($_COOKIE['log'])) { echo' <center><h3>Zaloguj się</h3> <form action="logowanie.php" method="POST"> Login:<input type="text" name="login"><br/> Hasło:<input type="password" name="pass"><br/> <input type="submit" name="submit" value="Zaloguj się"></form></center>'; } if($_SESSION['admin'] == 'ok' && isset($_COOKIE['log'])) //warunek, ktory sprawdza czy sesja ma odpowiednia wartosc oraz czy istnieje ciastko, jest to koniunkcja, wiec bedzie prawdziwa jesli oba warunki zostana spelnione { echo 'Jesteś zalgowany jako '.$_SESSION['login'].', <a href="?p=wyloguj">Wyloguj się</a>'; if($_GET['p']=='wyloguj') { session_destroy(); //kasujemy sesje setcookie("log" , "log", time()-3600, "/","", 0); //kasujemy cookies header("Location: logowanie.php"); //przenosimy na strone logowania echo 'Zostałeś pomyślnie wylogowany.'; } } ?> </div> <?php include('stopka.php'); ?> www.nazwaStrony.pl/logowanie.php - logowanie działa prawidłowo. www.nazwaStrony.pl/logowanie.php?p=wyloguj - przenosi mnie na stronę logowanie.php?p=wyloguj, która jest pusta i nie wylogowywuje. W czym tkwi problem? Ten post edytował WebspyPL 24.12.2011, 14:12:10 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 105 Dołączył: 4.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
<a href="?p=wyloguj">Wyloguj się</a>';
ten kawałek przenosi cię na tą samą stronę na której jesteś daj <a href="nazwa_strony?p=wyloguj">Wyloguj się</a>'; gdzie nazwa strony to strona na którą ma przenieść po wylogowaniu i tam daj ten fragment z niszczeniem sesji i nic dziwnego że strona jest pusta masz na niej tylko formularz który jest w warunku a ten z kolei po wylogowaniu nie jest spełniony więc nic nie wyświetli Ten post edytował kadlub 24.12.2011, 14:19:26 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 23.12.2011 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
logowanie.php
wyloguj.php
Nic to nie dało. :/ |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 105 Dołączył: 4.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
nie to miałeś zrobić
zobacz czy zadziała Ten post edytował kadlub 24.12.2011, 14:28:05 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 23.12.2011 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wszystko jest ok dzięki wielkie.
Temat do zamknięcia. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:35 |