php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.02.2011, 18:58  
Neuer Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
b_reath befindet sich auf einem aufstrebenden Ast
Standard query wird einfach unterbrochen

Hallo Leute!

Ich bin dabei einen PHP-Chat mit AJAX zu erstellen. Jedoch ergibt sich das Problem das die User dauernt rausfliegen weil die query.php nicht mehr aufgerufen wird. Ich hab gar keine Ahnung was falsch daran ist, ich hab schon soviele Sachen versucht. Das passiert auch in jedem Browser. Fehler wird auch keiner angezeigt.

script.js:
Code:
function query() {
	try {
		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!");
   
		req.open("GET", 'query.php', true);

		req.onreadystatechange = function() {            
			switch(req.readyState) {
				case 4:
					if(req.status != 200) {
						alert("Fehler:" + req.status); 
					} else {    
						var script = document.createElement('script');
						script.type = 'text/javascript';
						script.text = unescape(req.responseText);
						document.body.appendChild(script);
					}
					break;
				default:
					return false;
					break;     
			}
		};

		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(null);
	} catch(err) {
		alert("Error: " + err);
	}
}
query.php:
PHP-Code:
$result mysql_query("SELECT id, last_activity FROM user WHERE status = 'online'");
    while (
$row mysql_fetch_object($result)) {
        if(
$row->last_activity 30 time()) {
            
$resultArray[] = $row->id;
            
logout($row->id"Verbindung verloren!");
        }
    }
    if(
$resultArraymysql_query("UPDATE user Set status = 'offline' WHERE id IN(".implode(","$resultArray).");");

....

$user mysql_fetch_object(mysql_query("SELECT * FROM user WHERE id = '".$_SESSION["id"]."'"));
    if(
$user->status == "offline") {
        echo 
"self.location.href = \"index.php\";"
        exit;
    }

....
echo 
"var span = document.createElement(\"span\"); span.innerHTML = \"".$messages."\"; document.getElementById(\"chat\").appendChild(span);"
Ich hoffe ihr könnt mir einen Hinweiß geben, was ich falsch mache damit ich das dann richtig stellen kann.

lg b_reath
b_reath ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.02.2011, 19:55  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Hier würd sichs empfehlen, mit sockets oder mit long polling arbeiten. Wenn du die Ajax-Engine selbst schreiben willst, auch ok, ich würd mir die Arbeit sparen und das lieber realtime mit jquery/nodejs umsetzen.

Einen etwas älteren, aber mMn. guten Ansatz findest du hier.

grüße


Basti
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog

Geändert von rudygotya (21.02.2011 um 20:34 Uhr).
rudygotya ist offline   Mit Zitat antworten
Alt 22.02.2011, 01:15  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Debugging go.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 22.02.2011, 07:43  
Neuer Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
b_reath befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Debugging go.
Firebug und die Fehlerkonsole vom Firefox sagt auch nix.
b_reath ist offline   Mit Zitat antworten
Alt 22.02.2011, 19:26  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Dann musst Du aktiv debuggen: Laufzeiten messen, Logfiles schreiben, Browserversionen erheben, Statusmeldungen ausgeben..
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 22.02.2011, 20:28  
Neuer Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
b_reath befindet sich auf einem aufstrebenden Ast
Standard

Ein Chatter hat vorhin eben eine Fehlermeldung bekommen.
Alert: "Fehler:0"
Was bedeutet der HTTP Status 0?
b_reath ist offline   Mit Zitat antworten
Alt 22.02.2011, 20:45  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Code:
                                        if(req.status != 200) {
						alert("Fehler:" + req.status); 
					}
Das ist der Response-Status. Die kann man für Ajax recherchieren.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Unabhängige "Auto-Increment Spalte" für ein ON DUPLICATE KEY query? juice122 Datenbanken 4 31.05.2010 20:59
MySQL: INSERT INTO oder UPDATE verknüpft in einem Query juice122 Datenbanken 21 06.05.2010 20:25
[Erledigt] Aufgeteilte Query mit LIMIT & Order bench78 PHP Tipps 2010 4 10.03.2010 02:33
ajax/comet output eines scriptes einfach ausgeben spoi Scriptbörse 2 29.09.2009 10:50
[Erledigt] SQL Query "SELECT field FROM $tablearray" array in query taurus Datenbanken 20 06.09.2009 15:20
[Erledigt] Regular Expression: Tabellennamen aus query extrahieren Celli PHP Tipps 2009 7 31.05.2009 16:42
Query später weiter einschränken? MatzeMuc86 Datenbanken 9 14.04.2009 14:15
[Erledigt] Query funktioniert nur in PHPMyAdmin verdemis Datenbanken 2 25.01.2009 22:33
Upload Script bleibt einfach stehen SniperWolf PHP Tipps 2008 4 19.09.2008 19:39
Query funktioniert im SQL Query Browser aber nicht in PHP - DB zu groß ? john_the_bad Datenbanken 10 16.09.2008 18:17
SWiki, weil einfach einfach einfach ist. b++ Beitragsarchiv 0 06.10.2007 19:07
Variablen in Query automatisch escapen Maho88 PHP Tipps 2007 10 31.07.2007 08:42
find den Fehler im Query nicht !? madSoul Datenbanken 2 09.11.2006 12:19
select query durch if anweisungen splitten Datenbanken 6 06.09.2004 13:46
[Erledigt] Query läuft nicht Datenbanken 6 13.08.2004 21:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php header weiterleitung unterbricht mysql insert

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum