php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-02-2011, 11:21
ZuLtAn
 Registrierter Benutzer
Links : Onlinestatus : ZuLtAn ist offline
Registriert seit: Jan 2002
Ort: Oldenburg
Beiträge: 104
ZuLtAn ist zur Zeit noch ein unbeschriebenes Blatt
ZuLtAn eine Nachricht über ICQ schicken
Standard Datenbankeintrag beim schliessen des Browsers / Tab ?

Hallo zusammen,

ich versuche gearade mit meinen kaum vorhandenen Ajax-Kenntnissen eine "Wer ist online"-Funktion zu realisieren...Ich dachte mir, das es doch möglich sein müsste beim schliessen eines Tabs oder des ganzen Browserfensters nochmal eine Ajaxfunktion anzustossen die dann ein PHP-Script aufruft in dem dann einfach in der DB der onlinestatus geändert wird...

Eine letzte Aktion kann man ja mit onUnload oder onBeforeUnload erreichen..
Mein Script bringt mir aber in der Firefox Fehlerkonsole einen ziemlich wirren Fehler :

Fehler: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowInternal.alert]"
nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame ::
http://localhost/svo/Scripts/onlineStatus.js :: anonymous :: line 34" data: no]


Mein Ajaxscript:

HTML-Code:
function setOnlineStatus(ostatus){
				 //erstellen des requests
                 var req = null;

                try{
                    req = new XMLHttpRequest();
                }
                catch (ms){
                    try{
                        req = new ActiveXObject("Msxml2.XMLHTTP");
                    } 
                    catch (nonms){
                        try{
                            req = new ActiveXObject("Microsoft.XMLHTTP");
                        } 
                        catch (failed){
                            req = null;
                        }
                    }  
                }

                if (req == null)
                      alert("Error creating request object!");
                  
                  //anfrage erstellen (GET, url ist localhost,
                  //request ist asynchron      
                  req.open("GET", '/svo/setOnlineStatus.php?s='+ostatus, true);
				   //Beim abschliessen des request wird diese Funktion ausgeführt
                req.onreadystatechange = function(){            
                    switch(req.readyState) {
                            case 4:
                            if(req.status!=200) {
                                alert("Fehler:"+req.status); 
                            }else{    
                                //alles gut...
								}
                            break;
                    
                            default:
                                return false;
                            break;     
                        }
                    };
  
                  req.setRequestHeader("Content-Type",
                                      "application/x-www-form-urlencoded");
                req.send(null);
            }
Wenn ich diesen Teil der Status-Überprüfung weglasse, bekomme ich den Fehler nicht mehr, aber es passiert auch nichts weiter...

HTML-Code:
   //Beim abschliessen des request wird diese Funktion ausgeführt
                req.onreadystatechange = function(){            
                    switch(req.readyState) {
                            case 4:
                            if(req.status!=200) {
                                alert("Fehler:"+req.status); 
                            }else{    
                                //alles gut...
								}
                            break;
                    
                            default:
                                return false;
                            break;     
                        }
                    };
Ist mein Vorhaben eigentlich möglich oder brechen alle Script-Verarbeitungen beim schliessen sofort ab? Ich meine PHP ist ja serverseitg und es gelingt mir ja den Request zu erstellen und abzusenden...müsste dann doch eigentlich auch ausgeführt werden ?

Danke für euere Hilfe !!

LG
__________________
-=Es gibt Leute, die können Ihren Stammbaum bis zu denen zurückverfolgen, die noch darauf saßen=-

Geändert von ZuLtAn (10-02-2011 um 11:23 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 10-02-2011, 12:35
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

da der Request bei dir asynchron abläuft, existiert die Seite und das zugehörige Fenster in der onreadystatechange-Callback-Funktion schon gar nicht mehr, wenn der Browser eine Antwort erhält. Alternativen: keinen onreadystatechange-Callback verwenden und synchron arbeiten (3. Parameter von XMLHttpRequest).

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 10-02-2011, 17:14
ZuLtAn
 Registrierter Benutzer
Links : Onlinestatus : ZuLtAn ist offline
Registriert seit: Jan 2002
Ort: Oldenburg
Beiträge: 104
ZuLtAn ist zur Zeit noch ein unbeschriebenes Blatt
ZuLtAn eine Nachricht über ICQ schicken
Standard

Hallo Amica,

vielen Dank für die Hilfe, das hat es gebracht ! Eigentlich super einfach, jetzt werden auch alle Sessionvars bereits beim verlassen der Seite gelöscht.

LG
__________________
-=Es gibt Leute, die können Ihren Stammbaum bis zu denen zurückverfolgen, die noch darauf saßen=-
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Charset des Browsers ändern? Pascal P. HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 7 13-12-2004 17:19
Session beim Browser schliessen beenden simonsturzenegg PHP Developer Forum 9 09-12-2004 05:29
PHP beim Fenster schliessen ??? Prominenter PHP Developer Forum 16 25-08-2004 17:11
site beim schliessen des popups aktualisieren Viper1985 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 9 24-01-2003 16:40
Aktion beim Schließen des Browsers bundespunk PHP Developer Forum 7 05-12-2002 15:01

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:22 Uhr.