PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Seite: nur ein Teil soll neu geladen werden


RMC
2005-03-17, 17:30:36
Ist es möglich, dass bei einer Seite bestehnd aus PHP Skripts und HTML Templates nur ein Teil nachgeladen wird? Also nicht die gesamte Seite.

Wenn man auf ein anderes PHP-Skript verlinkt, dann wird ja im Prinzip die ganze Seite neu geladen, das möchte ich aber nicht. Wobei ich auch auf den Einsatz von Frames verzichten will.

Eine Seite besteht zb aus
- menu.php
- main.php
- footer.php

und ich möchte, dass bei einem Wechsel nur main.php nachgeladen wird. Ich hoffe ihr könnt euch das vorstellen. Wie bei Frames halt. Es soll nicht die ganze Seite von oben neu aufgebaut werden.


Gibts da Techniken dazu?

Misda
2005-03-17, 20:51:07
Es muss immer die ganze Seite neu geladen werden, die einzigste Möglichkeit dies zu umgehen, sind Frames oder der Befehl <iframe> (sollten aber beide nicht mehr verwendet werden..).

Gruß

RMC
2005-03-17, 20:55:17
Es muss immer die ganze Seite neu geladen werden, die einzigste Möglichkeit dies zu umgehen, sind Frames oder der Befehl <iframe> (sollten aber beide nicht mehr verwendet werden..).


Äh...das is sonst anders nicht möglich?? Dann verwend ich doch lieber Frames, ich mein bevor ich die ganze Seite neu lade :(

Außerdem ist das in meinem Fall eigentlich dringend notwendig, dass ein Teil der Seite bei einem neuen Aufruf erhalten bleibt, da sonst Informationen verloren gehen, die ich nicht wieder herstellen kann.

Der Nachteil is halt, dass dan nicht direkt verlinkt werden kann und dadurch ja nur der Frameinhalt angezeigt wird.

Ach damn...das is auch zu blöd.

astanoth
2005-03-18, 12:30:21
Es gibt sehr viele Vorteile, alles neu zu laden, vorrausgesetzt die Ummantelungsdateien sind nicht allzu mächtig. Du kannst alles sher schön dynamisch machen...
Die Informationen(was sind das denn für welche?) kann man logischerweise "mitnehmen".

darph
2005-03-18, 12:46:36
Äh...das is sonst anders nicht möglich?? Dann verwend ich doch lieber Frames, ich mein bevor ich die ganze Seite neu lade :(

Außerdem ist das in meinem Fall eigentlich dringend notwendig, dass ein Teil der Seite bei einem neuen Aufruf erhalten bleibt, da sonst Informationen verloren gehen, die ich nicht wieder herstellen kann.

Der Nachteil is halt, dass dan nicht direkt verlinkt werden kann und dadurch ja nur der Frameinhalt angezeigt wird.

Ach damn...das is auch zu blöd.
Wenn du eh schon mit PHP rumhantierst... warum keine Cookies setzten oder gleich Sessions verwenden? Dann gehen auch keine Informationen verloren. :|

Mal abgesehen davon, dürfte ein Header Dateigrößentechnisch eigentlich nicht sooooo groß werden, als daß ein Neuladen nicht praktikabel sei. Das Wichtige steht ja nicht im Header...

RMC
2005-03-18, 13:18:13
naja die Informationen mitnehmen muss ich wohl oder übel irgendwie realisieren.

Ich hab auf meiner Seite ein Flashmovie (Menü) und den Content. Wenn ich die Seite jedesmal komplett neu lade im Falle eines neuen Requests, wird auch das Flashmovie neu geladen, was zur Folge hat, dass die Information da drin (die sich im Navigationsverhalten des Users gebildet hat) nicht wiederherstellbar ist.
Die Information ist einfach nur die Anordnung von Menüpunkten. Wenn das Movie neu geladen wird, dann ist diese Info futsch und es herrscht wieder der Anfangszustand - ist das nachvollziehbar?

Jetzt müsste ich die Information speichern. Ich könnte bevor ein Link angesprochen wird dem Flashmovie sagen, dass es die Information an Javascript senden soll (wobei vorher Javascript einen Befehl an Flash senden müsste - und das hab ich scho x mal probiert und das will einfach nicht), Javascript ruft dann die nächste Seite auf und gibt beim Laden des Flashmovies die Information wieder zurück.

Und das ist mörder umständlich, kann sich jeder denken.


;(

darph
2005-03-18, 13:53:43
Du hast also das Navigationsmenü in Flash gemacht?

Flashmenüs sind böse ;(

RMC
2005-03-18, 17:28:21
ja ;(

Mein Vorhaben lies sich in Flash leichter als in HTML realisieren...aber es sollte ja auch eine Herausfoderung sein :ugly: die hab ich jetz...

Wuermchen
2005-03-18, 17:33:19
warum einfach wenns auch schwer geht :tongue:

astanoth
2005-03-18, 17:34:45
warum einfach wenns auch schwer geht :tongue:
ack

Poste mal bitte dein Flashmenu plz

RMC
2005-03-18, 17:49:11
warum einfach wenns auch schwer geht :tongue:

Naja, nachdem Animationen gewollt waren hat Flash das Rennen dann doch gewonnen.


ack

Poste mal bitte dein Flashmenu plz

Was soll ich denn posten, den Code? Was möchstest du denn wissen?

Gast
2005-03-18, 17:53:39
einen link zum menü nehm ich stark an

Misda
2005-03-18, 22:35:19
Flash Menüs sind ganz schlecht, was macht der Besucher auf deiner Seite wenn er kein Flash installiert hat?

RMC
2005-03-18, 23:17:48
Flash Menüs sind ganz schlecht, was macht der Besucher auf deiner Seite wenn er kein Flash installiert hat?

Dann lädt er sichs runter...und ich glaub nicht dass die Zielgruppe meiner HP zu den 5% derjenigen Webbesucher gehören, welche KEIN Flash installiert haben.

Das Argument der Plugin-Problematik kannst du dir schenken. Nur deshalb sind Flashmenüs gleich schlecht? Aha!

Lokutus01
2005-03-19, 00:40:42
naja, man kann via javascript dynamisch content aus einer Seite entfernen, über http laden und neu einfügen.

Der Trick ist das DOM zu nutzen: Google erzählt sehr viel zu dem Thema.

Browser mit einer weniger kraftvollen Engine (Opera) können das aber nicht: Firefox (moz 6+) und IE 5+ haben kein Problem damit.

Grüße
Andreas

darph
2005-03-23, 14:55:11
Dann lädt er sichs runter...und ich glaub nicht dass die Zielgruppe meiner HP zu den 5% derjenigen Webbesucher gehören, welche KEIN Flash installiert haben.

Das Argument der Plugin-Problematik kannst du dir schenken. Nur deshalb sind Flashmenüs gleich schlecht? Aha!
-> lynx.

Flashmenüs werden von Suchmaschinen nicht interpretiert - der Spider liest also bestenfalls deine Startseite aus, der Rest wird schlicht nicht gefunden.

Bluerock
2005-03-23, 18:50:59
warum machst du es nicht mit include, wenn du schon php benutzt?

RMC
2005-03-23, 20:02:20
warum machst du es nicht mit include, wenn du schon php benutzt?

jo..aber das hilft ja nur die PHP Seite in mehrere aufzuteilen oder? Ich glaub nicht dass man mit includes verhindern kann, dass ein Teil nicht geladen werden muss?

Erläutere mal deinen Gedankengang bitte! :)

Lokutus01
2005-03-23, 20:12:54
es gibt wie gesagt zwei Möglichkeiten:
A.) Frames
B.) Nachladen von Seiteninhalten via Javascript

RMC
2005-03-23, 21:01:52
mit Javascript geht das? Könntest du ein kleines Beispiel nennen?

Wenn du sagst, dass Opera das nicht können würde, ist das natürlich ein großes Problem. Wenn dann die ganze Seite darin nicht geht, ists weniger optimal.

Lokutus01
2005-03-24, 10:47:51
mit Javascript geht das? Könntest du ein kleines Beispiel nennen?

Wenn du sagst, dass Opera das nicht können würde, ist das natürlich ein großes Problem. Wenn dann die ganze Seite darin nicht geht, ists weniger optimal.

Meiner Meinung nach sollte es sogar mit Opera gehen, da dies zu den Standardfunktionen gehört:

Mach ein DIV ("blub")auf als Container in deinem Dokument. Mit dieser Funktion kannst du im Allgemeinen Text dieses DIVs austauschen:

document.getElementById('blub').innerHTML = "Textchen";

Das Laden der Seiteninhalte wird über xmlhttprequest gemacht... beschrieben beispielsweise dort:
http://jibbering.com/2002/4/httprequest.html
oder dort
http://allinthehead.com/retro/241/xmlhttprequest-for-the-masses
oder dort
http://whatwg.org/specs/web-apps/current-work/#scripted

Google findet zu dem Thema viel und zudem nutzen bereits viele Seiten diese Funktionalität.

Andreas

PS: Soweit wie ich weiss implementiert Opera auch an dieser Funktionalität, kann also vielleicht bereits gehen.

Gast
2005-03-24, 16:11:43
naja, man kann via javascript dynamisch content aus einer Seite entfernen, über http laden und neu einfügen.

Der Trick ist das DOM zu nutzen: Google erzählt sehr viel zu dem Thema.

Browser mit einer weniger kraftvollen Engine (Opera) können das aber nicht: Firefox (moz 6+) und IE 5+ haben kein Problem damit.

Grüße
Andreas
Was soll opera bitte nicht können O_o

Belege deine Aussage

Lokutus01
2005-03-24, 17:29:58
Was soll opera bitte nicht können O_o

Belege deine Aussage

Was soll ich da belegen??

Opera 7.6 preview 1, is currently rather broken, it has a basic implementation of the object - you'll see that it's full of bugs such as double results and missing methods to set or get the headers, rendering it not as useful, again I'm sure this will come up to standard soon. Opera 8 beta 1 hasn't fixed all these bugs, but it's getting better. Because of Repeated ReadyState 4 events you should never assume each request results in only one Complete response, so if you code anything that adds in the complete event you should use a flag to ensure that each request hasn't already been acted on.

Wie auch immer: Wie einer der oben genannten Links sagt, ist man im Augenblick dran das bei Opera einzubauen.


Grüße und frohe Ostern
Andreas

Gast
2005-03-24, 19:24:56
deswegen sollte man die engine aber nicht "schwach" nennen. Sie hat neben kde konqueror die beste css unterstützung und ist dazu auch noch sehr performant

Lokutus01
2005-03-24, 19:32:22
deswegen sollte man die engine aber nicht "schwach" nennen. Sie hat neben kde konqueror die beste css unterstützung und ist dazu auch noch sehr performant

"Schwach" wäre tatsächlich zu viel gesagt, denn ganz offen: Die oben genannte Funktionalität halte ich für persönlich als fast etwas zu kraftvoll für einen Webbrowser.

Thujon
2005-03-24, 20:07:49
"Schwach" wäre tatsächlich zu viel gesagt, denn ganz offen: Die oben genannte Funktionalität halte ich für persönlich als fast etwas zu kraftvoll für einen Webbrowser.
nun bin ich verwirrt :D Wie darf man das nun verstehen? korrektes css und hoher speed sind doch ansich wünschenswert. ODer meinst du das man es so oder so nicht ausnutzen kann ohne andere browser zu benachteiligen?

Das ist allerding wahr :(

Aber ich denke der IE7 wird dann schon in soweit nachziehen das man "voll aufdrehen" kann. Firefox dürfte es schwerer haben mit dem aktuellem entwickler mangel.

Lokutus01
2005-03-24, 21:31:10
nun bin ich verwirrt :D Wie darf man das nun verstehen? korrektes css und hoher speed sind doch ansich wünschenswert. ODer meinst du das man es so oder so nicht ausnutzen kann ohne andere browser zu benachteiligen?

Das ist allerding wahr :(


Jetzt wird es offtopic.

Aber gut, wie soll ich sagen? "Browser" werden sich in Zukunft nicht nur über Bedienbarkeit und schnelle und richtige Darstellbarkeit hervorheben können (von Sicherheit ganz zu schweigen). Das können inzwischen schon ein paar Browser.