SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.07.2004, 12:46:09
Zudecke Zudecke ist offline
Junior Member
 
Registriert seit: Jun 2004
Ort: Weiden i.d.Opf.
Alter: 46
Beiträge: 315
Seite verlassen, Funktion ausführen

Servus.
Hab da echt ein Problem, bei dem ich nicht weiter weiß: Beim Verlassen der Seite soll noch eine PHP-Funktion ausgeführt werden. Wie kann ich das bewerkstelligen? Mit dem JavaScript-Event "onUnload" gehts nicht. Außer ich mach da noch ein PopUp auf, indem ich schnell die Funktion ausfüren lasse und dann gleich schließe. Aber find ich nicht gerade sauber. Was kann ich machen?

Gruß
Mit Zitat antworten
  #2  
Alt 19.07.2004, 12:58:36
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Du kannst PHP nur aufrufen, in dem Du eine Seite lädst.

onUnload funktioniert zum Glück nur bei Frames, Du wirst Dir also was anderes ausdenken müssen.


Was hast Du denn vor?
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 19.07.2004, 12:59:46
mad-boy mad-boy ist offline
Junior Member
 
Registriert seit: Aug 2002
Beiträge: 395
mad-boy eine Nachricht über ICQ schicken
Re: Seite verlassen, Funktion ausführen

Zitat:
Original geschrieben von Zudecke
Was kann ich machen?
Kurze Antwort: Gar nichts! :(

PHP ist Serverseitig und wird nur beim Aufruf einer Seite ausgeführt, du weißt also gar nicht wann die Seite geschlossen wird. Die einzigste Möglichkeit ist, wie du schon sagtest, über PopUps o.ä. eine Seite aufzurufen die sich dann wieder selber schliesst.

Normalerweise arbeitet man mit Timeouts, das heißt z.B. hier im Forum: Wer ist online: Dort werden dann beispielsweise alle User angezeigt die in den letzten 5 Minuten eine Seite aufgerufen haben.

Gruss, Michael
Mit Zitat antworten
  #4  
Alt 19.07.2004, 13:28:52
Zudecke Zudecke ist offline
Junior Member
 
Registriert seit: Jun 2004
Ort: Weiden i.d.Opf.
Alter: 46
Beiträge: 315
Die aktuellen Benutzer bei mir werden ausgegeben. Wenn sie die Seite verlassen, sollen sie aus der DB gelöscht werden bzw. da soll vermerkt werden, dass sie nicht mehr online sind. Und das sollte passieren, sobald sie wirklich nicht mehr da sind.
Mit Zitat antworten
  #5  
Alt 19.07.2004, 13:31:26
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Wie mad-boy schon sagte: Das geht nicht!

Du musst bei jedem Seitenaufruf alle Daten, die älter als n Sekunden/Minuten sind löschen.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #6  
Alt 19.07.2004, 13:33:03
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
EDIT: Da war ich ein bisschen langsam...

Das wirst du so nicht hinkriegen. Aber wie oben schon weiter beschrieben könntest du es ähnlich machen, wie hier im Forum:

In der Tabelle zwei Felder:
name //Name des Benutzers
zeit //Zeit der letzten Aktion des Benutzers (sollte bei jeder Aktion aktualisiert werden)

Und dann kannst du immer, wenn jemand die Seite aufruft, alle User aus der Tabelle löschen, die beispielsweise länger als 5 Minuten inaktiv waren:

PHP-Code:
<?php
    mysql_query
("DELETE FROM tabelle WHERE zeit<'" . (time()-300) . "'");
?>
Mit Zitat antworten
  #7  
Alt 19.07.2004, 14:46:28
Zudecke Zudecke ist offline
Junior Member
 
Registriert seit: Jun 2004
Ort: Weiden i.d.Opf.
Alter: 46
Beiträge: 315
Ok, das mit dem Timeout zieh ich mal in Betracht ;-) .

Ich hättes jetzt trotzdem mal mit so nem PopUp versucht. Eigentlich ganz schmuck das Teil, "Verbindung wird beendet." und so.
Aber wie kann ich jetzt wieder unterscheiden, ob die Seite aktaulisert wird, oder ob er wirklich geht. Das PopUp sollte ja dann nur im letzteren Fall geöffnet werden.
Weiß da auch noch jemand Rat?
Mit Zitat antworten
  #8  
Alt 19.07.2004, 14:48:32
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
Aber wie kann ich jetzt wieder unterscheiden, ob die Seite aktaulisert wird, oder ob er wirklich geht.
Gar nicht. Entweder Du nutzt Frames oder Du lässt es mit dem PopUp.

Außerdem: Was machst Du denn bei Leuten, die einen PopUpBlocker nutzen??
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #9  
Alt 19.07.2004, 14:54:10
Zudecke Zudecke ist offline
Junior Member
 
Registriert seit: Jun 2004
Ort: Weiden i.d.Opf.
Alter: 46
Beiträge: 315
Das versteh ich noch nicht so ganz. Wie können mir Frames dabei helfen? die werden doch genauso geschlossen bzw. aktualisiert.
Mit Zitat antworten
  #10  
Alt 19.07.2004, 14:58:09
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Es gibt diese Unart von blinden Frames: Zwei Stück, eins 100% groß und das andere 0%. Der Nutzer sieht also nur eins. Alles, was passiert, passiert in den 100%.

Um mal kurz abzuschweifen: Auch 0% sind 100% 0%... ;)

Gut, zurück zum Thema: Das onunload packt man in das 0%-Ding. Da es nie geändert wird, sondern höchstens geschlossen, wäre das eine Lösung für Dein Problem. Aber auch Quelle für viele neue Suchmaschinenprobleme.

Entscheide Dich lieber dagegen!
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:08:45 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt