Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] Po wyłączeniu przeglądarki okno pop-up
CryWolf
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


Witam!
Jak zrobić, że od razu po wyłączeniu przeglądarki wyświetlało się okienko. Okno to służyć ma do wylogowywania. Bo jeżeli ktoś się nie wyloguje tylko wyłączy przeglądarke to u niego status pozostanie '1' i będzie ze niby caly czas jest OnLine. W wyloguj.php jest zapytanie zmieniające status usera na '0' .Kod wylogowywania mam tylko chodzi o samo okno po wyłączniu przglądarki.
Pozdrawiam i z góry dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Niby jest javascript'owe window.onclose, ale z uwagi na to, że nie każda przeglądarka to wspiera nie można na tym polegać.
A takie rzeczy jak trzymanie informacji o zalogowaniu lepiej trzymać w sesji, na ciasteczkach o "długości życia" do zamknięcia przeglądarki.

Ten post edytował drPayton 7.09.2007, 13:14:46
Go to the top of the page
+Quote Post
l0co
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 18.08.2007
Skąd: Bydgoszcz

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


Nie da się tego zrobić w ten sposób. Masz źle przemyślany mechanizm. Spróbuj przechowac status w sesji - wygaśnie wraz z czasem upłynięcia sesji.

Edit: A, widzę że już ktoś to napisał jak miałem otwarty formularz smile.gif

Ten post edytował l0co 7.09.2007, 13:29:04


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





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


hmm, co proponujecie, moje logowanie wygląda tak:

  1. <?php
  2. function wy_form_logo() {
  3.  
  4. echo '
  5. <form action="index.php" method="POST">
  6. Login: <input type="text" name="login"><br>
  7. Hasło: <input type="password" name="haslo"><br><br> 
  8. <input type="submit" value="Zaloguj">  
  9. </form>';
  10.  
  11.  
  12. $login = $_POST['login'];
  13. $haslo = $_POST['haslo'];
  14.  
  15.  
  16. $pokazpieniadze = "SELECT login, haslo FROM users WHERE login='$login'";
  17. $wykonaj = mysql_query($pokazpieniadze);
  18. $found = false;
  19. while($wiersz = mysql_fetch_assoc($wykonaj)) {  
  20. if ($haslo == $wiersz['haslo'] && $login == $wiersz['login']) {  
  21. $_SESSION['user'] = $login;
  22. $_SESSION['pass'] = $haslo;
  23. echo '<big><b>Zalogowany!</big></b>';
  24. $data = date("j F Y, g:i"); 
  25. mysql_query("UPDATE profil SET zal = '$data' WHERE login = '". $_SESSION['user'] ."'");
  26. mysql_query("UPDATE users SET status = '1' WHERE login = '". $_SESSION['user'] ."'");
  27. echo '<META HTTP-EQUIV="Refresh" CONTENT="1;URL=start.php">';  
  28. $found = true;  
  29. break;  }
  30. }
  31. if(!$found) echo '<b><big>Chcesz dołączyć do reszty osób?</b></big><br><a href="rejestracja.php"><b>Rejestracja</b></a>';
  32. }
  33. ?>

?
Go to the top of the page
+Quote Post
l0co
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 18.08.2007
Skąd: Bydgoszcz

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


A po co w ogóle w bazie wpisujesz status czy jest zalogowany? Jak będziesz miał ustawione np tylko $_SESSION['user'] to będziesz wiedział po tym czy jest zalogowany czy nie.


--------------------
l0co
Go to the top of the page
+Quote Post
CryWolf
post
Post #6





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


ale przypuśćmy że wejdę do kogoś na profil i co z tego że u niego jest $_SESSION['user'] jak ja tego nie zobaczę chyba, mogłbym prosić o jakiś przykład czy coś bo nie rozumiem za bardzo
Go to the top of the page
+Quote Post
l0co
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 18.08.2007
Skąd: Bydgoszcz

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


Chyba rozumiem o co Ci chodzi - chcesz sprawdzić kto jest online tu jest taki wątek.
Generalnie najbardziej banalny schemat logowania jest taki:
user się loguje: $_SESSION['logged'] = true;
user się wylogowuje: session_destroy();

Teraz w zakresie użytkownika widzisz czy jest zalogowany czy nie i sesja automatycznie wygasa po ustawionym czasie. A jak chcesz spod innego użytkownika to sprawdzić to inna sprawa. Ja bym to zrobił tak, że w tabeli użytkowników byłoby też pole czasu "ostatniej operacji" - czyli odświeżenia strony przez użytkownika - jak odświeża stronę, to znacznik się aktualizuje. No i teraz przyjmujesz czas np. 15 min bez odświeżenia że użytkownika już nie ma i wyciągasz zalogowanych użytkowników na podstawie tego znacznika czasu.


--------------------
l0co
Go to the top of the page
+Quote Post
CryWolf
post
Post #8





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 9.06.2007

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


Tak, o to mi chodzi, zaraz przejrze temat
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: 19.08.2025 - 17:18