Gwolf1: PHP-include - bitte um kleine hilfestellung

Hallo leutz

ich habe:

verschiedene divs, die ich seither mit buttons ein/ausblende - also:
layer1 hide, layer2 hide, layer3 show
oder
layer2 hide, layer3 hide, layer1 show

ich möchte:
nun hab ich mich entschlossen, da ich diese "bausteine" öfters brauche, diese per include einzubinden

frage:
soll ich nun diese includes nur in die divs einbinden und weiter mit den buttons meinen dreamweaver-code show/hide benutzen
(Prob dabei ist z.B. dass manchmal je nach "Ladezeit??? obwohl es aber oft nur text ist, man kurz dieses Blenden sieht, also der alte text "durchscheint" - gibts da ne lösung?)

oder kann/soll ich in einen div je nach buttonwahl den "include-befehl" laden? geht das überhaupt? oder geht das nur wenn ich ne ganze Seite lade/aufrufe...

zusatzfrage:
wie ginge das, quasi per menue diese includes zu steuern, d.h.
(oh ist das schwer zu erklären, wenn man net weiss was möglich ist...grummel)
je nach button zwar "hauptseite" laden aber di e"include-dateien" zu variieren???

merci

cu
Gwolf

  1. Hallo,

    ich möchte:
    nun hab ich mich entschlossen, da ich diese "bausteine" öfters brauche, diese per include einzubinden

    Ok...

    frage:
    soll ich nun diese includes nur in die divs einbinden und weiter mit den buttons meinen dreamweaver-code show/hide benutzen

    Andersrum denke ich: Du jetzt Deine Divs in eine Datei und includierst diese jeweils in die Datei die Du anzeigen willst.

    (Prob dabei ist z.B. dass manchmal je nach "Ladezeit??? obwohl es aber oft nur text ist, man kurz dieses Blenden sieht, also der alte text "durchscheint" - gibts da ne lösung?)

    Arggh, was ein Satz.. :-/ Schau Dir halt mal das Dreamweaver-Script an. Das ist aber meist recht komplex aufgebaut, also zumindest komplexer als ein vgl. selbst geschriebenes. Schau mal ob es da einen Wert in Millisekunden für eine Verzögerung (Delay) gibt? Ansonsten könnte ein Stück Bsp-Code helfen. Aber nicht hier ins Forum sondern als Link auf Deine Testseite.

    oder kann/soll ich in einen div je nach buttonwahl den "include-befehl" laden? geht das überhaupt? oder geht das nur wenn ich ne ganze Seite lade/aufrufe...

    Dein include läuft serverseitig (per PHP) und Dein Divwechsel clientseitig (per Javascript). Erkennst Du den Unterschied und wo in dem Fall das Problem ist?

    zusatzfrage:
    wie ginge das, quasi per menue diese includes zu steuern, d.h.
    (oh ist das schwer zu erklären, wenn man net weiss was möglich ist...grummel)
    je nach button zwar "hauptseite" laden aber di e"include-dateien" zu variieren???

    Ja, das geht wenn Deine "Hauptseite" eine PHP-Datei ist. Du musst dieser Seite über Deinen Link in der URL einen entsprechenden Parameter anhängen und diese dann in der Seite mit einem Switch oder if-elseif-else Konstrukt auswerten und den entsprechenden include ausführen...

    Ansonsten kann ein Beispiel als URL weiterhelfen...

    Grüsse AndreD

    1. Hallo Andre

      prinzipiell sollte ich evtl erstmal wissen, ob beim "includen" die ganze seite neu geladen wird, dann eben mit den unterschiedlichen divs die per include eingefügt werden...
       oder der browser sich erst beim include-befehl das stück holt? das er braucht..

      dann ist zwar die lösung mit include auch gut,wegen der sich wiederholenden bausteine, aber -
      ich hab iframes als beispiel genommen, weil manche seiten sehr aufgebläht sind und somit ich die größe auf verschiedene htm-seiten aufteilen kann und net wie bei divs alles in einer seite steht und die dann sehr groß wird (kb-mäßig)...

      oder hab ich den falscen denk-ansatz?
      cu
      Gwolf

      1. hi,

        prinzipiell sollte ich evtl erstmal wissen, ob beim "includen" die ganze seite neu geladen wird, dann eben mit den unterschiedlichen divs die per include eingefügt werden...
         oder der browser sich erst beim include-befehl das stück holt? das er braucht..

        da der include serverseitig stattfindet (PHP, SSI, ...), natürlich ersteres.
        der browser bekommt von den serverseitigen abläufen absolut nichts mit, der bekommt lediglich eine _komplette_ HTML-seite ausgeliefert.

        ich hab iframes als beispiel genommen,

        wenn du es clientseitig haben willst, dann _sind_ (i)frames das was du suchst, und nicht includes.

        weil manche seiten sehr aufgebläht sind und somit ich die größe auf verschiedene htm-seiten aufteilen kann und net wie bei divs alles in einer seite steht und die dann sehr groß wird (kb-mäßig)...

        überlege dir mal, ob das wirklich so sehr ins gewicht fällt.

        es wird ja nur der HTML-code bei jeder seite übertragen; mehrfach verwendete bilder werden gecacht, die (hoffentlich) in externe CSS-dateien ausgelagerten formatierungsanweisungen genauso, und für externe javascripte gilt das gleiche.

        und den reinen HTML-code einer seite kann man bei bedarf (und möglichkeit) dann auch noch gzip-komprimiert vom server ausliefern lassen. das kann, was das datenvolumen angeht, auch noch eine ganz schöne einsparung bringen, mehr als die hälfte ist da eigentlich immer "drin".

        wobei da auch wieder zu bedenken ist, dass diese komprimierung natürlich den server (und auch den client) wieder etwas mehr belastet (rechenleistung) ...

        gruss,
        wahsaga

        1. ich danke mal für die ausführliche antwort...

          nun habs ich soweit begriffen...

          wie krieg ich nun den a-button dazu, dem server zu sagen, lade datei "xy" aber jetzt include bitteschön die a.inc in dieses div, und den b-button dazu die b.inc einzubauen in das selbe div einzubauen, wenn er die datei "xy" lädt???

          cu

          Gwolf1

          1. Hallo Gwolf1,

            wie krieg ich nun den a-button dazu, dem server zu sagen, lade datei "xy" aber jetzt include bitteschön die a.inc in dieses div, und den b-button dazu die b.inc einzubauen in das selbe div einzubauen, wenn er die datei "xy" lädt???

            Wenn Du einen include() machen musst, also wirklich eine Datei in PHP einbinden und ggf. auswerten musst, dann:

            Du musst wie - bereits geschrieben - Deinem jeweiligen Link des Buttons einen Parameter mitgeben. Dieser wird von der Seite die Du über den Link aufrufst entgegen genommen und ausgewertet. Mit Hilfe eines switch oder if-else Konstrukts kannst Du das Script entscheiden lassen was den nun inkludiert werden soll...

            Willst Du kein Code einbinden ist das ganze IMHO überflüssig, dann solltest Du es Clientseitig lösen --> siehe wahsagas Posting.
            Ansonsten wäre evt. noch SSI eine Möglichkeit wenn Dein Server das unterstützt?

            Ansonsten gilt was ich Dir bereits geraten habe: Beschäftige Dich mit den Grundlagen anhand der empfohlenen Seiten und/oder kauf Dir noch ein Buch das Dir zusagt. :-)

            Grüsse AndreD