Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcja się nie wykonuje
Dominator
post
Post #1





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Witam
Dlaczego funkcja setOnline(false); nie chce się wykonać?

  1. window.onbeforeunload = function() {
  2. setOnline(false);
  3. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dominator
post
Post #2





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


W dalszym ciągu nie działa...

plik service.php

  1. <?php
  2.  
  3. include 'online.php';
  4.  
  5.  
  6. @$akcja = $_GET["action"];
  7.  
  8. if(isset($akcja) && $akcja == "getOnline")
  9. {
  10. $nowy = new Baza();
  11. $data = $nowy->getData();
  12. echo $data;
  13. }
  14. if(isset($akcja) && $akcja == "setTrue")
  15. {
  16. $nowy = new Baza();
  17. $nowy->setRow("online");
  18. }
  19. if(isset($akcja) && $akcja == "setFalse")
  20. {
  21. $nowy = new Baza();
  22. $nowy->setRow("offline");
  23. }
  24.  
  25.  
  26. ?>


online.php

  1. <?php
  2. Class Baza
  3. {
  4. public function __construct()
  5. {
  6. $this->Connect();
  7. }
  8. public function Connect()
  9. {
  10. try
  11. {
  12. $pdo = new PDO('mysql:host=localhost;port=3306;dbname=test', '', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));
  13. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  14. if($pdo)
  15. {
  16. $this->conn = $pdo;
  17. return true;
  18. }
  19. }
  20. catch(PDOException $e)
  21. {
  22. echo "Błąd " . $e->getMessage();
  23. }
  24. }
  25. public function setRow($text)
  26. {
  27. if($this->conn)
  28. {
  29. $dodaj = $this->conn->prepare("UPDATE `is_online` SET `online`=:online");
  30. $dodaj-> bindValue(":online", $text, PDO::PARAM_STR);
  31. $dodaj->execute();
  32. $dodaj->closeCursor();
  33. }
  34. }
  35. public function getData()
  36. {
  37. if($this->conn)
  38. {
  39. $_check = $this->conn->prepare("SELECT `online` FROM `is_online`");
  40. $_check-> execute();
  41. if($dane = $_check -> fetch())
  42. {
  43. echo $dane["online"];
  44. }
  45. }
  46. }
  47. }



Nie mam pojęcia dlaczego to nie chce działać.
Go to the top of the page
+Quote Post
sowiq
post
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Cytat(Dominator @ 14.10.2013, 11:48:09 ) *
Nie mam pojęcia dlaczego to nie chce działać.

A jaką masz pewność, że request jest wysyłany na serwer? Może zapytanie nie zdąży być wysłane przed zamknięciem przeglądarki, hmm?
Go to the top of the page
+Quote Post
Dominator
post
Post #4





Grupa: Zarejestrowani
Postów: 565
Pomógł: 15
Dołączył: 11.10.2010

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


Cytat(sowiq @ 14.10.2013, 11:53:40 ) *
A jaką masz pewność, że request jest wysyłany na serwer? Może zapytanie nie zdąży być wysłane przed zamknięciem przeglądarki, hmm?


Nawet o tym nie pomyślałem...
Także więc ta metoda odpada. W takim razie w jaki inny sposób sprawdzić czy użytkownik jest online/offline?
Go to the top of the page
+Quote Post

Posty w temacie
- Dominator   Funkcja się nie wykonuje   26.09.2013, 19:44:39
- - com   a jak wygląda magiczna funkcja setOnline(false);   26.09.2013, 19:46:04
- - Dominator   [PHP] pobierz, plaintext function setOnline(in...   26.09.2013, 19:52:20
- - com   [JAVASCRIPT] pobierz, plaintext function setO...   26.09.2013, 20:05:05
- - Dominator   Po wyjściu ze strony nadal w bazie mam info, że uż...   14.10.2013, 10:11:17
- - freemp3   Tutaj: KodsetOnline("false"); Chyb...   14.10.2013, 10:36:52
- - Dominator   No faktycznie Ale w dalszym ciągu użytkownik jest...   14.10.2013, 10:39:48
- - freemp3   Może funkcja zmieniająca status w bazie nie działa...   14.10.2013, 10:44:45
- - Dominator   W dalszym ciągu nie działa... plik service.php [...   14.10.2013, 10:48:09
|- - sowiq   Cytat(Dominator @ 14.10.2013, 11:48:0...   14.10.2013, 10:53:40
|- - Dominator   Cytat(sowiq @ 14.10.2013, 11:53:40 ) ...   14.10.2013, 10:58:21
- - freemp3   Od sprawdzenia na pewno nie zadziała. Co sie wyświ...   14.10.2013, 10:53:52
- - flashdev   Cytat(Dominator @ 14.10.2013, 11:58:2...   14.10.2013, 11:02:11
- - com   w normalnym przypadku czyli użytkownik zalogował s...   14.10.2013, 17:38:51
|- - sowiq   @com, ogólnie rzecz biorąc sprowadza się to do jed...   15.10.2013, 07:37:18
- - sowiq   @com, autorowi chyba raczej chodziło o zliczanie u...   14.10.2013, 17:58:03
- - com   Cytat(Dominator @ 26.09.2013, 20:52:2...   14.10.2013, 20:51:36
- - Sephirus   Jeśli robisz coś w taki sposób że wysyłasz po zmia...   15.10.2013, 07:55:27


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

 



RSS Aktualny czas: 26.12.2025 - 22:18