jäger: HTML Datei

Hallo liebe Forenbesucher bzw. Nutzer,

ich brauche wiedermal Eure Hilfe; undzwar möchte ich der übersichthalber einige Teile meines HTML Codes in externe Dateien ausgliedern und diese per JAVASCRIPT oder PHP einfügen, nur leider funktioniert das ganze überhaupt nicht.

Was ich schon ausprobiert habe sind folgende Sachen.

<?php include 'test.php'; ?>

bzw.

<script type="text/javascript" src="test.js"></script>

Eine kleine Bemerkung noch: in der Datei test.php und test.js steht nur der REINE HTML CODE, den ich auslagern möchte.

Vielen Dank für Eure Hilfe
jäger

  1. <?php include 'test.php'; ?>

    was war das ergebnis dieses versuchs?

    <script type="text/javascript" src="test.js"></script>

    das wird so nicht funktionieren

    1. <?php include 'test.php'; ?>
      was war das ergebnis dieses versuchs?

      gar nichts, da kam leider nichts. ich habe in der test.php datei meine navileiste, der nur in HTML CODE ist ausgelagert. Bei der obigen Methode passierte gar nichts, die navileiste wurde gar nicht angezeigt.

      gruß
      jäger

      1. gar nichts, da kam leider nichts. ich habe in der test.php datei meine navileiste, der nur in HTML CODE ist ausgelagert. Bei der obigen Methode passierte gar nichts, die navileiste wurde gar nicht angezeigt.

        was stand danach im quelltext?

        1. gar nichts, da kam leider nichts. ich habe in der test.php datei meine navileiste, der nur in HTML CODE ist ausgelagert. Bei der obigen Methode passierte gar nichts, die navileiste wurde gar nicht angezeigt.

          was stand danach im quelltext?

          was für ein quelltext meinst du denn?

          ich wollte meine navileiste in eine externe datei auslagern, der nur reines html code ist. ich habe da nichts verändert. wenn du mit dem quelltext die php datei meinst steht da:

          <div id="blabla">
          <a href="blablabbla.html">BLABLA</a>
          </div>

          viele grüße cemil

          1. was für ein quelltext meinst du denn?

            den fertigen, vom server gelieferten quelltext, der durch php zusammengbaut wurde (sprich das, was im browser ankommt

            [...] steht da:

            <div id="blabla">
            <a href="blablabbla.html">BLABLA</a>
            </div>

            ich denke nicht, dass das obriges steht

            1. was für ein quelltext meinst du denn?
              den fertigen, vom server gelieferten quelltext, der durch php zusammengbaut wurde (sprich das, was im browser ankommt

              da kommt gar nichts an, echt nicht, sonst hätte ich aus was damit anfangen können. meine navileiste wird einfach nicht angezeigt.

              [...] steht da:

              <div id="blabla">
              <a href="blablabbla.html">BLABLA</a>
              </div>
              ich denke nicht, dass das obriges steht

              wie würde es sonst noch gehen?

              viele grüße
              jäger

              1. da kommt gar nichts an, echt nicht, sonst hätte ich aus was damit anfangen können. meine navileiste wird einfach nicht angezeigt.

                ich glaub nicht, dass NICHTS ankommt wenn du "etwas" reinschreibst - und um das endresultat des quelltexts der im browser ankommt, gehts

                ein onlinebeispiel könnte helfen

                wie würde es sonst noch gehen?

                ich hab keine ahnung, aber ich bin mir 100%ig sicher dass in deinem quelltext nicht irgendwas mit BLABLA steht sondern etwas sinnvolles (oder du denkst das zumindest) und genau da sollst du nachsehen ob das, was du eigentlich erwartest, auch drinnen steht

                wenn anstelle deines menüs im quelltext <?php include 'test.php'; ?> steht wird das menü nicht angezeigt, wenn da wirklich NICHTS steht, wird es natürlich auch nicht angezeigt, wenn da aber die blabla-sache steht, wird defintiv die blah-blah sache angezeigt

                1. wenn anstelle deines menüs im quelltext <?php include 'test.php'; ?> steht wird das menü nicht angezeigt, wenn da wirklich NICHTS steht, wird es natürlich auch nicht angezeigt, wenn da aber die blabla-sache steht, wird defintiv die blah-blah sache angezeigt

                  doch in der test.php datei stehe ein html abschnitt.

                  anbei ein link, wo du es dir anschauen kannst, wie es aussieht, wenn ich die html datei ganz ist und keine teile daraus ausgelagert sind.

                  http://www.dernek.taskiran.net/yeniindex.html

                  hier der link, womit ich meine probleme habe, die obere navileiste wird garnicht ausgelagert, obwohl die test.php datei am gleichen ort ist wie die html datei.

                  http://www.dernek.taskiran.net/indexiki.html

                  viele grüße
                  jäger

                  1. http://www.dernek.taskiran.net/indexiki.html

                    da steht im html-quelltext "<?php include 'test.php'; ?>" - ein indiz dafür, dass du a) keinen php-interpreter hast oder b) (wahrscheinlicher) der einfach keine ressourcen mit der endung .html behandelt - versuche die datei in .php umzubenennen oder ändere deine serverkonfiguration, sodass auch .html durch den php-interpreter geschickt wird

                    1. http://www.dernek.taskiran.net/indexiki.html

                      da steht im html-quelltext "<?php include 'test.php'; ?>" - ein indiz dafür, dass du a) keinen php-interpreter hast

                      doch doch der server ist php fähig, ich habe da schon php formulare und etc. abschicken können.

                      oder b) (wahrscheinlicher) der einfach keine ressourcen mit der endung .html behandelt - versuche die datei in .php umzubenennen

                      die datei ist doch eine php datei.

                      oder ändere deine serverkonfiguration, sodass auch .html durch den php-interpreter geschickt wird

                      das ist auch eingestellt, du hast ja selber gesehen, dass dort kein fehler angezeigt wird.

                      verstehe ich nicht so ganz, gibt es alternativen dazu?

                      gruß
                      jäger

                      1. Hi,

                        oder b) (wahrscheinlicher) der einfach keine ressourcen mit der endung .html behandelt - versuche die datei in .php umzubenennen

                        die datei ist doch eine php datei.

                        Nein, deine index-Datei hat die Endung .html - und normalerweise sind Webserver so konfiguriert, dass sie solche Dateien nicht durch den PHP-Parser schicken.

                        MfG ChrisB

                        --
                        „This is the author's opinion, not necessarily that of Starbucks.“
                        1. TAUSEND TAUSEND TAUSEND DANK HAT GEKLAPPT

                          GRUESSE
                          JAEGER

                          1. Mahlzeit jäger,

                            TAUSEND TAUSEND TAUSEND DANK HAT GEKLAPPT

                            Mal wieder ein Beispiel von "Kaum macht man's richtig, funktioniert's ..." - und ich schätze, eine kräftige Portion RTFM hätte sicher dafür gesorgt, dass es früher "Klick" bei Dir gemacht hätte.

                            MfG,
                            EKKi

                            --
                            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                            1. kräftige Portion RTFM

                              es ist bemerkenswert, was manche leute für essen alles machen :D

                            2. eine kräftige Portion RTFM

                              sorry für doppelpost, aber DER muss noch sein :D

                  2. Hi,

                    hier der link, womit ich meine probleme habe, die obere navileiste wird garnicht ausgelagert, obwohl die test.php datei am gleichen ort ist wie die html datei.

                    http://www.dernek.taskiran.net/indexiki.html

                    Wenn du dir davon mal den Quelltext anschauen wuerdest, wuerdest du sehen, dass da immer noch

                    <div id="linkalanibir">
                    <?php include 'test.php'; ?>

                    drin steht - also wurde das Dokument gar nicht durch den PHP-Parser geschickt, was bei der Endung .html deines Dokumentes auch der Normalfall ist.
                    Benenne deine indexiki.html doch mal in indexiki.php um - und dann schauen wir weiter ...

                    MfG ChrisB

                    --
                    „This is the author's opinion, not necessarily that of Starbucks.“
  2. Hi, ich glaube du gehst das ganze Falsch an.
    Nur weil du einen Teil auslagerst, und wieder "includest" heißt es nicht, dass das, was in der ausgelagerten Datei steht, auch wieder so angezeigt wird.
    Dazu musst du es aufrufen.

    Beispiel:

    Augelagerte Datei (aus.js):

    <script type="text/javascript">  
    function xyz() {  
     var name = Max;  
     var alter = 30;  
     var antwort = name + " ist " + alter + " Jahre alt.";  
      
     document.write(antwort);  
    }  
    </script>
    

    Normale Datei (index.html):

    <html>  
     <head><title></title>  
     <script type="text/javascript" src="aus.js"></script>  
     <head>  
     <body>  
     <div><script type="text/javascript"> xyz(); </script></div>  
     </body>  
    </html>
    

    Ausgabe im Browser:
    Max ist 30 Jahre alt.

    PHP ist fast das gleiche!
    Du kannst auch ganze HTML seiten einbetten, und dann mit "document.write" ausgeben lassen.

    1. Du kannst auch ganze HTML seiten einbetten, und dann mit "document.write" ausgeben lassen.

      anmerkung:

      document.write ist eine "furchtbar blöde idee" - und das in mehrerlei hinsicht

      einerseits greift document.write direkt in den render- und reflow-prozess des browsers ein, also an der stelle, wo der html-code bereits generiert wird, aber unter umständen noch nicht vollständig geladen wurde - dh es wird ständig zwischen layout-engine und javascript-engine gewechselt bzw es wird gleichzeitg gearbeitet - einen langsamen rechner oder browser bringt das zum weinen

      andererseits funktioniert document.write in xml absolut nicht, da sich ein xml-parser auf die wohlgeformtheit des codes verlässt, sich aber mittels document.write theoretisch nicht wohlgeformter code produzieren lässt, der aber eigentlich valides xml-darstellt

        
      <div>  
        <script type="text/javascript"><[!CDATA[document.write('<strong>');]]></script>  
        blah  
        <script type="text/javascript"><[!CDATA[document.write('</strong>');]]></script>  
      </div>  
      
      

      obriges beispiel ist wohlgeformt, wenn aber zuerst eine javascript-engine drüberläuft oder dies sogar zur laufzeit passiert, wäre das strong-element geöffnet aber nicht korrekt verschachtelt, da das end-tag erst im zweiten document-write folgt

      das daraus resultierende html wäre (betrachtet man den gernerieten quellext) dann zwar theoretisch valide, den xml-parser macht das aber traurig

      nachdem also bei einem xml-fähigen browser sofort das xml-file gerendert wird, gib es den oben beschriebenen wechsel zwischen dem tag-soup-parser der layout-engine und der javascript-engine garnicht - ergo document.write kann nicht ausgeführt werden, da es zu zeitpunkt, wo die javascript-engine erstmals ran darf schon zu spät ist

      aus diesen gründen eignet es sich, auch wenn man nichts als xml ausliefert, sich dennoch schon anzugewöhnen, auf document.write völlig zu verzichten und entsprechende alternativen (zb innerHTML) zu verwenden, damit mans in zukunft leichet hat und leute mit langsamen browsern nicht beleidigt

  3. Mahlzeit jäger,

    Eine kleine Bemerkung noch: in der Datei test.php und test.js steht nur der REINE HTML CODE, den ich auslagern möchte.

    Du solltest in eine Datei mit der Endung .php hauptsächlich PHP-Code, in eine Datei mit der Endung .js NUR Javascript-Code tun. Für reinen HTML-Code sind Dateien mit der Endung .html da ...

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Du solltest in eine Datei mit der Endung .php hauptsächlich PHP-Code, in eine Datei mit der Endung .js NUR Javascript-Code tun. Für reinen HTML-Code sind Dateien mit der Endung .html da ...

      wobei hier anzumerken ist, dass im http-kontext die dateiendung eigentlich "scheissegal" ist, aber es für den autor der seite durchaus einfacher, wenn eine css-datei .css als endung hat, eine javscript-datei .js usw

      1. Mahlzeit suit,

        wobei hier anzumerken ist, dass im http-kontext die dateiendung eigentlich "scheissegal" ist, aber es für den autor der seite durchaus einfacher, wenn eine css-datei .css als endung hat, eine javscript-datei .js usw

        Das ist richtig. Der OP machte nur auf mich den Eindruck, er wüsste eigentlich überhaupt gar nicht richtig, welche Datei eigentlich was tut, wo wie geparst, eingebunden und/oder ausgeführt wird ... und da helfen eindeutige Dateierweiterungen und klare Benennungen doch ziemlich.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      2. @@suit:

        wobei hier anzumerken ist, dass im http-kontext die dateiendung eigentlich "scheissegal" ist,

        Wobei hier anzumerken ist, dass es im HTTP-Kontext gar keine Dateiendungen gibt. Wie auch; es gibt ja keine Dateien.

        aber es für den autor der seite durchaus einfacher, wenn eine css-datei .css als endung hat, eine javscript-datei .js usw

        Vor allem auch für den Admin des Webservers (muss ja nicht dieselbe Person sein).

        Live long and prosper,
        Gunnar

        --
        Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.