Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] blad z wylogowaniem...
ukaszq
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


Stworzylem taki skrypt, w czasie ktorego chce aby przy kliknieciu
klient zostal wylogowany. No ale to nie dziala sad.gif Co moze byc nie tak... nie wylogowuje... z sesji...


  1. <?
  2.  
  3. if (isset($_POST['wyloguj'])){
  4.  unset($_SESSION['user']);
  5.  if (!empty($_SESSION['user'])) {
  6.  echo 'Niezdefiniowany blad - uruchom ponownie przegladarke!';
  7.  } else {
  8.  header('Location: index.php');
  9.  }
  10.  
  11. }
  12.  
  13. ?>

  1. <form method="post">
  2. <input name="wyloguj" type="button" value="logout" />
  3. </form>
  4. </body>
  5. </html>
Go to the top of the page
+Quote Post
Shili
post
Post #2





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


Formularz swoje dane przekazuje do jakiejś strony za pomocą atrybutu action. Ty czegoś takiego nie masz, dodaj sobie w action adres tej strony, w której zawierasz skrypt php z wywołaniem wylogowania. Poza tym wydaje mi się, że lepszym typem inputa byłby submit.
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #3





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Ale namieszałeś.. a nie możesz zrobić if i zwykłego linka ?

link:
  1. <a href="index.php?action=logout">wyloguj</a>


php:
  1. <?php
  2. if($_GET['action'] == 'logout'){
  3. header('Location: index.php');
  4. }
  5. ?>


Ten post edytował sniezny_wilk 16.05.2008, 10:29:55


--------------------
Go to the top of the page
+Quote Post
ukaszq
post
Post #4





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


Zrobilem tak i wyskakuje błąd:

Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in /home/admin/www/sprzedaz/log/wylogowanie.php on line 4
Go to the top of the page
+Quote Post
Shili
post
Post #5





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


Wystarczy przeczytać ostrzeżenie - próbujesz zniszczyć niezainicjowaną sesję.
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #6





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Jeśli korzystasz z mojego przykładu to oczywiście tam w pierwszej linijce powinno być session_start();


--------------------
Go to the top of the page
+Quote Post
Sadu2
post
Post #7





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


Ja mam taki kod:

  1. <?php
  2. echo '<p class="nap"><a href="logout.php">Wyloguj</a></p>';
  3. ?>


Plik logout.php:

  1. <?php
  2. header('Location: index.php');
  3. ?>


I niestety ciągle jestem zalogowany sad.gif
Go to the top of the page
+Quote Post
Shili
post
Post #8





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


Zawsze możesz jeszcze spróbować przed session_destroy unset'ować zmienną/zmienne sesyjne którymi sprawdzasz zalogowanie. Chociaż to akurat powinno spokojnie zniszczyć Ci wszystko.


Sprawdź w pliku index, czy na nowo nie inicjujesz zalogowania.
Go to the top of the page
+Quote Post
Sadu2
post
Post #9





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


Na początku pliku index mam session_start(); czy powinno sie ono tam sie znajdować?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:07