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 03.04.2011, 16:12  
Neuer Benutzer
 
Registriert seit: 03.04.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
MiBe befindet sich auf einem aufstrebenden Ast
Standard Ajax und Wartungsmodus

Hallo zusammen,

ich habe eine neue Website erstellt, bei der per Prototype und Scriptaculous Content in diverse div-Container geladen wird.
Funktioniert soweit auch alles sehr gut.

Nun habe ich im Administrationsbereich die Moeglichkeit eingerichtet, die ganze Seite in den Wartungsmodus zu setzen.
Realisiert ist der Wartungsmodus ueber einen Eintrag in der Datenbank.

Entsprechend im header eine Abfrage ob die Seite im Wartungsmodus ist oder nicht und entsprechend auf eine Fehlerseite bzw. die Seite umgeleitet (per header()).

Das Problem stellt sich nun bei den Besuchern, die bereits die Seite anschauen. Da der Content per Ajax nachgeladen wird greift meine header-Abfrage natuerlich ins Leere.

Daher habe ich in der Datei die die einzelnen Contentseiten alle per include implementieren ebenfalls eine entsprechende Abfrage die auch greift.
Leider mit dem kleinen Schoenheitsfehler, dass zwar die Seite nicht mehr angezeigt wird, die Weiterleitung auf die Fehlerseite aber auch nur in dem div welches den Inhalt anzeigen sollte erfolgt.

Sprich das Layout der Seite bleibt vorhanden nur statt dem Content steht die Fehlerseite. Gibt es eine Moeglichkeit im Falle des aktiven Wartungsmodus die Weiterleitung nicht im div sondern auf der ganzen Seite erfolgen zu lassen?

Danke
MiBe ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.04.2011, 16:23  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Hi,

in Sachen Wartungsmodus kann ich nur empfehlen, das nicht über die Anwendung selbst laufen zu lassen, sondern z.B. über eine .htaccess-Direktive. Wenn die Anwendung nämlich wirklich gewartet wird, dann gibt es keine Garantie, dass die Anzeige der Wartungsmeldung ordnungsgemäß funktioniert, vor allem dann nicht, wenn ein Update gefahren wird etc.
Um das AJAX-Problem zu umgehen, würde ich mit HTTP-Statuscodes arbeiten. Der korrekte Code für diesen Fall wäre HTTP 503 - Service Temporarily unavailable. Die AJAX-Anwendung prüft dann, welcher Code zurückgeliefert wird und gibt im Falle eines Falles eine entsprechende Meldung raus (bzw. leitet die Seite um etc.).
Ein entsprechender Statuscode sollte Suchmaschinen auch davon abhalten, die Meldung als regulären Content zu interpretieren. Es wäre schließlich ärgerlich, wenn in den Suchergebnissen plötzlich wegen unglücklichen Timings die Fehlermeldung auftaucht und nicht der Content.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 03.04.2011, 17:27  
Neuer Benutzer
 
Registriert seit: 03.04.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
MiBe befindet sich auf einem aufstrebenden Ast
Standard

An die Suchmaschinen habe ich dabei nicht gedacht.
Aber loest eine .htaccess das Problem mit der Fehlermeldung/ Wartungsseite?

Diese wird ja nach wie vor lediglich in dem div welches zum Zeitpunkt x geladen wird angezeigt oder sehe ich da gerade etwas nicht?

Danke
MiBe ist offline   Mit Zitat antworten
Alt 03.04.2011, 18:08  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Bitte lies mein Posting doch noch einmal genau durch.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 03.04.2011, 18:26  
Neuer Benutzer
 
Registriert seit: 03.04.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
MiBe befindet sich auf einem aufstrebenden Ast
Standard

Tut mir leid, aber ich sehe in dem Beitrag die Loesung nicht.

Der 1. Abschnitt ist ein guter Hinweis warum man es nicht auf meine Methode machen sollte

Im 3. Abschnitt ein nicht zu vernachlaessigendes Argument.


Bleibt der 2. Abschnitt:
Zitat:
gibt im Falle eines Falles eine entsprechende Meldung raus (bzw. leitet die Seite um etc.).
Diese bleibt doch weiterhin in dem div auf das der Ajax-Aufruf verweist?
Aber die Loesung des Problems finde ich da nicht.

Genau dies mache ich doch bereits nur ohne Statuscodes sondern per Variable (allerdings mit den Problemen aus Abschnitt 1 und 3).


Gruß
MiBe ist offline   Mit Zitat antworten
Alt 03.04.2011, 18:34  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Zitat:
Diese bleibt doch weiterhin in dem div auf das der Ajax-Aufruf verweist?
Aber die Loesung des Problems finde ich da nicht.

Genau dies mache ich doch bereits nur ohne Statuscodes sondern per Variable (allerdings mit den Problemen aus Abschnitt 1 und 3).
Wo liegt denn das Problem? Wer zwingt dich denn, bloß stur den empfangenen Inhalt in ein Div zu schreiben? Du prüfst doch eh auf den Statuscode 200 (hoffe ich jedenfalls). Wo liegt dann die Schwierigkeit, diese Prüfung einfach um einen Fall zu erweitern?
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 03.04.2011, 20:05  
Neuer Benutzer
 
Registriert seit: 03.04.2011
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
MiBe befindet sich auf einem aufstrebenden Ast
Standard

Ich verwende Ajax nur um den Inhalt des divs komplett zu aendern und Effekte zu animieren.
Daher auch keine return-Codes, etc.
Im Prinzip existiert also nur die Funktion change(inhalt, zielelement) und diverse effekte aus scriptaculous fuer Animationen.

Die Pruefung findet momentan in der Datei (beispielsweise content.php) statt die per change('content.php', ziel) aufgerufen wird. Demnach kann ich momentan also nur den output den content.php generiert entsprechend aendern. Aber in dem Fall bleibt das Ziel dennoch erhalten.

Wenn ich auch das Ziel im Wartungsmodus aendern moechte muesste bei jedem Aufruf von change eine if-Abfrage davor um die jeweils richtige Seite anzeigen zu koennen.

Ich hatte daher auf irgendeine Moeglichkeit in Richtung
PHP-Code:
header(); 
exit; 
gehofft um einfach im Falle des Wartungsmodus auf die Fehlerseite umzuleiten ohne vor jeden change()-Aufruf eine Abfrage einzufuegen.

Hab ichs dieses Mal verstaendlicher ausgedrueckt?

Gruß
MiBe ist offline   Mit Zitat antworten
Alt 03.04.2011, 20:29  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ich glaube, du solltest dich erst einmal mit den Grundlagen von HTTP, Ajax beschäftigen.
Du verstehst immer noch nicht, was ich meine. Lies dir bitte nochmal genau durch, was ich geschrieben haben.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 03.04.2011, 21:11  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.865
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Im Prinzip brauch (d)eine Anwendung den Wartungsfall im Frontend garnicht behandeln. Würde ich bestimmte Applikationen warten wollen würde der HTTP-Server für die Zeit alle Requests mit "Service Currently Unavailable" beantworten.

Für den Fall das ich parzielle Wartungsmodi realisieren wollte würde der Javascript-Core entweder auf 503-Header reagieren ( wenig Aufwand ), oder die Serveranwendung entsprechende Replys für die Gadgets senden das sie deaktiviert sind. Letzteres hängt absolut von der Anwendungslogik ab.

Ich hoffe du missverstehst den Wartungsmodus nicht als "Entwickler-Modus" und willst etwas in (d)eine Anwendung ethablieren was dir erlaubt auf dem Production-Environment bestimmte Teile zu verändern. Das sollte alles fertiggetestet schon auf dem Developement-Environment geschehen sein, die Anwendung / die Webseite dann für den Moment der Initialisierung / Installation erweiterter Komponenten als ganzes in den oben beschriebenen Wartungsmodus fallen und mögliche Downtimes auf das absolute Minimum zu beschränken.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y 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
Fileupload via AJAX GSJLink HTML, Usability und Barrierefreiheit 13 17.05.2012 21:41
Wie sendet Google AJAX Requests an fremde Server/Domains? 1234d1 JavaScript, Ajax und mehr 3 11.10.2010 13:09
[Erledigt] Web-Präsentation mit AJAX bbskater JavaScript, Ajax und mehr 3 24.09.2010 15:11
geht das mit Ajax? sofortige umsetzung für den User bei externen Stylesheet strgg PHP Tipps 2010 12 08.07.2010 14:17
[Erledigt] Ajax, jQuery - CKEDITOR Fehler bei Instanzierung jGeee JavaScript, Ajax und mehr 3 26.03.2010 09:09
Ajax Anwendung, reines Ajax oder Ajax und Html jackie1983 JavaScript, Ajax und mehr 5 09.02.2010 16:50
AJAX - Variable von PhP erhalten auf möglichst simple Weise? SplitterWind JavaScript, Ajax und mehr 10 10.01.2010 04:34
Wie lade ich ein Javascript nach einer AJAX Abfrage neu? da.eXecutoR JavaScript, Ajax und mehr 3 21.09.2009 11:15
Ajax und include reloaden choice JavaScript, Ajax und mehr 6 10.07.2009 13:47
Rezeptdatenbank: Zutatenliste mit Ajax realisieren? espressoboy JavaScript, Ajax und mehr 6 25.01.2009 20:23
1111: AJAX meets PHP (indirectly) Nikolaus 2.0 Adventskalender 2008 5 15.12.2008 11:00
Probleme mit Sonderzeichen bei Ajax (prototype)... go1denboy JavaScript, Ajax und mehr 1 31.08.2008 18:44
AJAX: Session-Inhalt an PHP Curanai HTML, Usability und Barrierefreiheit 2 05.11.2007 15:45
AJAX: Newsflash: How to? SvenLittkowski HTML, Usability und Barrierefreiheit 11 26.09.2006 23:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
wartungsmodus einer seite umgehen, php wartungsseite, wartungsmodus php, html wartungsmodus script, javascript wartungsmodus, php wartungsmodus, wartungsseite skript, wartungsmodus layout html, wartungsmodus, wartungsmodus script php, linux

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:37 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