Beiträge von McMoneysack91

    Ich begreife, dass etwas falsch ausgeliefert wird. Aber mir ist noch nicht ganz klar, inwieweit ich das durch falsches Coden verursacht habe und inwieweit der Server daran schuld ist. Denn gerade ich, als totaler blutiger Anfänger, möchte nicht mit dem Finger auf einen Server zeigen, dem scheinbar etliche Leute vertrauen und sagen "nur wegen dem da".


    Denn nochmal, derselbe Content nur auf meinem 000webhost Account hochgeladen wird wunderbar von demselben SEO Tool erkannt und mit einer Wortzahl von etlichen hunderten erkannter Wörter belohnt, welches mir beim Infinityfree 0 anzeigt. Exakt gleicher code, exakt gleicher Aufbau.


    Dass ich derzeit lieber NUR 100% kostenlos unterwegs bin liegt daran, dass ich mich ja gerade hier und da ausprobiere. Wie man sieht gibt es nicht nur bei mir Probleme mit Infinityfree. 000webhost ist etwas zu mickrig mit gerade mal 300MB Festplattengröße und begrenzter Bandbreite.


    Ich habe einige Hosts gefunden mit sowas wie 5GB Disk Space und unbegrenztem Datenvolumen. Denke, da werde ich fündig.


    EDIT: kleine Erfahrung. Habe mich bei einem Host angemeldet, welcher ebenfalls cPanel und dieses MONSTA als File Manager benutzt. Auch da war das oberste Verzeichnis mit einigen leeren Dateien gefüllt (wie bei Infinityfree) und man konnte dort nichts hochladen. Erst in dem htdocs. Und siehe da, die SEO Tools erkennen wieder 0 Wörter.


    Liegt es vielleicht an dem File Manager, dass er die eigentliche zuerst gelesene oberste Ebene mit komischen Dingen füllt und man erst im Verzeichnis drunter anfängt seine Inhalte hochzuladen? Scheitern die SEO Tools vielleicht an dieser Hürde?

    basti1012 ich danke dir herzlichst für diesen Post. Der User könnte mir nicht direkter aus der Seele sprechen. Bloß dass er sein HTML zu PHP umrüstete und ich umgekerht :D


    Es scheint also in der Tat am Server zu liegen. Das verursacht, dass die SEO Tools erst diese Barriere sehen und dann erst meinen Content. Allerdings fügt Infinityfree hinzu, dass die gängigsten Suchmaschinen davon nicht beeinträchtigt werden. Naja, irgendwie ist mir das nicht SO ganz koscher.


    Ich muss dazu sagen, dass ich mit Inifinityfree nicht verheiratet bin oder so. Ich habe es lediglich wegen des unbegrenzten Platzes und der unbegrenzten Bandbreite gewählt. Zuvor hostete ich auf 000webhost. Habe übrigens einige meiner dortigen Seiten durch SEO Tools checken lassen. Alle Wörter werden erkannt, h1 h2 h3 werden erkannt, alles tutti. Nur bei Infinityfree haperts.


    Vielleicht werde ich mich mal nach Servern mit ähnlichen Freiheiten wie Infinityfree umschauen, welche jedoch die Zugänglichkeit eines 000webhost mit sich bringen.


    Zitat

    Wenn er Cookies und Javascript aktiviert hat und auch keines von beidem auf dem Weg zu ihm irgendwo blockiert wird.

    Das begreife ich noch nicht gänzlich. Heißt das, dass man keinen Inhalt angezeigt bekommt, wenn man Cookies und Javascript deaktiviert? Bislang habe ich diverse Freunde um Zugreifbarkeitstest auf meine Seite gebeten. Firefox, Chrome, Midori, Microsoft Edge, auf Windows, wie auf Linux. Keiner meldete Probleme.

    Vielen Dank an euch schonmal vorab für diese vielen Denkansätze.


    m.scatello ja das ist richtig, alle eingebundenen Dateien tragen die Endung .php obwohl alle nur aus HTML Code bestehen. Irgendwie schnappte ich das mal in einem anderen Forum auf, dass sobald man etwas mit PHP einbindet, das eingebundene vorsichtshalber einfach .php zu nennen, da es ja falsch nicht sein kann und im Falle des Falles man immer PHP einbauen könnte (nachträglich).


    ABER: Auch die Include-Suppe ist nicht schuldig, dass keine Wörter erkannt werden. In der index-Datei habe ich direkt in der Datei selbst einen <p>Lorem Ipsum</p> eingebaut. Es werden nach wie vor 0 Worte erkannt. Es muss also an den Servereinstellungen liegen, wie tk1234 es bereits im Verdacht hat. Nur was genau es ist, ist mir noch verborgen. Ich werde mal versuchen, im Infinityfree Forum zu stöbern.


    Ich kann gerne als nächsten Schritt versuchen, die Dateien zu .html umzubenennen und das Einbinden statt include dann via readfile stattfinden zu lassen.


    ANDERERSEITS: frage ich mich auch, ist das denn alles notwendig? Ich meine, der Inhalt, den ich rüberbringen will wird doch angezeigt. Also ein Mensch kann meine Seite öffnen und den Artikel lesen, sich durch die Navigation klicken, buttons betätigen etc.


    Nun könnte ich mich fragen: "was kümmert es mich, wenn ein SEO tool die Wortanzahl als 0 erachtet?"

    Weiter frage ich mich dann: "spiegelt die SEO Tool Analyse das wieder, wie Suchmaschinen meine Seite sehen? Als inhaltslos? Oder erkennen die sehr wohl den Text und die Wörter?" Denn wenn dem so ist, dann ganz ehrlich, werde ich keine schlaflose Nacht haben, nur weil das Tool mir keine Wörter anzeigt.


    Mir geht es nur darum, dass die Seite auch durch Suchmaschinen anhand des Inhalts gefunden wird. Okay, noch ist vergleichweise absolut kaum Inhalt da, aber er steht schon in Form von Textdateien bereit.

    tk1234 danke für diesen Hinweis. Ich kenne mich zwar mit den Funktionen von Servern und den Aufbauten nicht aus, aber es macht Sinn, dass der Request erstmal nur die Datei ohne Text sieht und die weiterführenden Dateien (mit Text), welche durch diese importiert werden, übersieht.


    Leider weiß ich nicht, welche meiner Einstellungen dies bewirken könnte. Ich dachte daher, dass ich einfach mal so viele Infos wie nur geht und um meine Seite und die Servereinstellungen poste. Vielleicht wird ja jemand schlau draus. Hoffentlich werde ich im Laufe des Prozesses auch selbst schlau draus.


    Also. Meine Seite wird gehostet auf Infinityfree.com. Auf dieser Seite erhält jede Website zunächst mal die Subdomain .epizy.com. Die .gq domain habe ich noch von Freenom und habe sie mit den DNS Nameservern geparkt. Um ein SSL Zertifikat habe ich mich bislang noch nicht gekümmert.


    Hier ist der Accountbereich, sobald ich mich einlogge:

    html-seminar.de/woltlab/attachment/2738/


    Wenn ich "weitere Einstellungen" gehe, sehe ich folgende Einstellungen zu FTP sowie MySQL:


    html-seminar.de/woltlab/attachment/2734/


    sowie zu Domain und PHP:


    html-seminar.de/woltlab/attachment/2735/


    Wenn ich nun in den File manager gehe (also da wo ich meine Ordner und Dateien hochlade), sehe ich folgendes:


    html-seminar.de/woltlab/attachment/2733/


    ich betrete den Ordner htdocs und dort kann ich im Grunde alles was ich offline an Ordnern habe genau so dort einfügen:



    html-seminar.de/woltlab/attachment/2732/


    im Ordner architecture sieht es so aus:


    html-seminar.de/woltlab/attachment/2737/


    der Ordner pages hat folgende Seiten:


    html-seminar.de/woltlab/attachment/2731/


    und die Artikel selbst werden im separaten txt Ordner geschrieben welcher, da so aussieht:


    html-seminar.de/woltlab/attachment/2730/


    Um nun endgültig (auch wenn ich es schon mehrmals erklärt habe und es alle verstanden haben) darzustellen, wie eine Seite bei mir aussieht, welche ihr gesamtes Äußeres und den Inhalt importiert, hier ein Beispiel:


    html-seminar.de/woltlab/attachment/2736/


    Ich erkenne schonmal anhand der Färbung, dass <!doctype html> nicht klein sondern im Capslock geschrieben sein muss also <!DOCTYPE html> denn dann wird das html rot unterlegt. So erkläre ich mir, weshalb mir SEO Tools immer noch sagen, es fehle eine doctype-Bezeichnung.


    Aber wo genau die Krux mit dem nicht erkannten Text liegt wird mir noch nicht ganz klar.


    EDIT: Es scheint gar nicht damit zusammenzuhängen, dass ich diese eigenartige Architektur verfolge. Ich habe auf der Index-Seite einen Lorem Ipsum Text innerhalb des <article> geschrieben. Die SEO Tools zeigen nach wie vor eine Wortanzahl von exakt 0 an.

    tk1234 Ich danke dir für deine ausführliche Antwort, doch werde ich noch nicht ganz schlau draus. Meine Seite bezieht ihr Aussehen aus einem separaten Ordner mit lauter .php Dateien welche jeweils Fragmente des Aufbaus wie navbar, sidebar, footer etc. beinhalten. Ihren Inhalt bezieht die Seite aus einem eigenen Ordner welcher gefüllt ist mit .txt Dateien. In allen Browsern außer Internet Explorer kriege ich die Seite in ihrem vollen Umfang angezeigt. Auch den Text. Ich kann ihn kopieren, einfügen, einzelne Wörter anklicken etc.


    Mir gehts ja gar nicht drum, dass bestimmte SEO Tools diesen Text als solchen erachten. Mir gehts darum, dass Suchmaschinen die Seite nicht für "leer" halten sonden den Text als solchen erkennen. Wenn das so ist, kann ich wunderbar damit leben, dass die SEO Tools den Text nicht erkennen.


    Der Javascript ist ein Test gewesen, Google Adsense zu verknüpfen (ist gelungen). Da musste ich den Javascript kopieren und zwischen <head></head> einfügen.


    Ansonsten arbeite ich ausschließlich mit .php Dateien. Die Seiten selbst, die Architekturdateien, Textdateien alles im .php.

    Meine Website lautet: http://arnoldkessler.gq/


    Die erste erstellte und vorab mit Textausschnitten befüllte Seite ist: http://arnoldkessler.gq/pages/workout_plans.php


    Die Wortanzahl meiner Website habe ich überprüft mit: https://wordcounter.net/website-word-count Hier erhalte ich insgesamt 19 Wörter...

    Auch habe ich diese Seite benutzt: https://www.seobility.net/en/seocheck/ hier erhalte ich im kleinen Vorschaufenster 403 Forbidden (obwohl meine Seite in Natura perfekt erreichbar ist) und eine Wortzahl von genau 0.


    EDIT: Achtung! Bitte nicht mit Microsoft Internet Explorer öffnen. Das gesamte Layout wird vom Explorer verkorkst und ich versuche gerade daran zu arbeiten. Alle anderen Browser funktionieren perfekt.

    Ich bin sehr einfach vorgegangen. Es gibt eine Seite (ich weiß nicht, ob ich hier Links posten darf) die heißt seobility.net und dort kann man einfach die URL der beliebigen Seite eingeben.


    Wenn ich meine eingebe, erhalte ich Words = 0 unten in der Statistik. Wenn ich dagegen die Seiten eingebe, welche ihre Artikel direkt in der HTML Datei schrieben, lese ich Words = 2589 oder Words = 3711 etc. Sprich so erkennt dieses Tool ihre Wörter. Mir SOLL es eigentlich recht egal sein, wenn es keine Auswirkungen auf Suchmaschinen hat, wo die Wörter stehen. Vielleicht ist dieses Toll einfach ganz simpel geschrieben.


    Ich habe bloß Sorge, mit dem jetzigen Architektur-Ansatz, welcher mir sehr gefällt zu riskieren, dass mein Content für Suchmaschinen "unsichtbar" bleibt und meine Seiten als leere Zombieseiten ohne Inhalt angesehen werden.

    Liebe Freunde,


    ich benutze keinerlei CMS. Im Grunde "spiele" ich einfach mit Content herum, während ich gleichzeitig HTML, CSS und PHP lerne. Ich habe einen (für mich) großen Fortschritt gemacht, auch wenn er in der Welt von CMS eigentlich völlig unnötig ist:


    Statt jede Seite von vorne mit HTML zu schreiben und wiederkehrende Dinge wie die Navigation immer wieder neu zu schreiben, habe ich jedes Element meiner Website (Titelbild, Navigation, Sidebar, Adbox, Content Area, Footer etc.) zu jeweils eigenen .php Dateien gemacht. Sobald ich nun eine neue Seite erstelle, importiere ich mir den jeweiligen Content lediglich mit


    <? php

    include...header;

    include...nav;

    include...content;

    include...adbox;

    etc

    >


    Das funktioniert bislang tadellos in der Darstellung. Alles wird im Browser so dargestellt, als hätte ich die Seite manuell geschrieben. Den Vorteil sehe ich darin, dass ich nur noch diese zu importierenden Elemente bearbeiten muss, statt (viielleicht irgendwann) hunderte Seiten manuell zu ändern, nur um dann zu sehen "näh, mir gefiel es vorher besser." Die anderen Seiten importieren dann das überarbeitete Ursprungselement.


    Auch mit Texten verfahre ich so. Ich habe einen separaten Ablegeplatz für meine Artikel. Auch die importiere ich via php in passender Reihenfolge zwischen die anderen Elemente. Auch hier gibt es mit der Darstellung auf der Seite keine Probleme. Der Artikel wird mir als Text angezeigt. Ich kann die Wörter markieren, kopieren, irgendwo einfügen. Ich kann hyperlinks anklicken usw.


    Doch habe ich neulich einfach aus Interesse ein einfaches SEO-Tool über meine Seite drüberschauen lassen. Erschreckenderweise musste ich festetellen: Words= 0. Das Tool sagt mir, auf meiner Seite ist nicht ein einziges Wort geschrieben. Ich meine in der Tat, die Datei der Seite ist wirklich steril wie ein Krankenhaus. Da ist nur diese lange Include-Kette von importieren Elementen. Kein einziges <p> ist dort geschrieben.


    Heißt das nun wirklich, dass ich mit meiner Methode Seiten produziere, die für z.B. Google oder andere Suchmaschinen oder generell im Sinne des SEO"leer" sind? Es ist für mich schwer vorstellbar. Ich habe aus Interesse mal andere namhafte Seiten aufgerufen und stellte Fest, dass ganze Abhandlungen direkt in der HTML Datei standen. Ich finde das macht alles so fürchterlich unübersichtlich und die Suche der Zeile vor dem Text und der Zeile nach dem Text wird zur Odyssee. Es sah fürchterlich aus. Ich mag meinen Ansatz sehr, denn so sieht die Datei der Seite sehr aufgeräumt aus und alle importierten Elemente sind sauber untereinander aufgelistet. Und möchte ich eines der Elemente verändern, gehe ich in dessen Pfad, öffne nur dieses eine Element und ändere es. Und schon haben alle anderen Seiten diese Änderungen übernommen.


    Habe ich vielleicht bloß am Anfang meiner .txt datei vergessen, etwas mit metatags zu versehen? Etwas wie "hey, dies hier ist ein Text"!


    Ich bitte um Hilfe

    Ui herzlichen Dank für diese Vorlage. Also nicht ganz so aggressiv aufbröseln, wie ich es tat, sondern in ohnehin immer zusammengehörenden Blöcken belassen. So macht das wirklich Sinn, wenn ich mir das anschaue.


    Vielen Dank nochmals dafür.


    Zu der peinlichen Sache mit der Lücke zwischen <? php. Ich finde diesen Weg, wenn auch Steinig echt gut. Das zwingt mich nun, jeden Schritt genau zu planen und akkurat auszuführen, statt wie ein Maschinengewehr drauflos zu coden. Jetzt verstehe ich auch die Warnungen der ganzen Tutorials, gleich als Anfänger mit Editoren zu arbeiten. Da wird bei ( schon direkt automatisch die ) generiert bei =" schon direkt das schließende " und so weiter. Es werden einem direkt Ergänzungsmöglichkeiten und Autoverfollständigungen ausgeworfen. Alles schön und gut für jemanden, der das schon im Schlaf kann.


    Aber jetzt, nachdem ich im blanken Mousepad bereits einige Hundert Zeilen geschrieben habe und sehe, dass sie irgendwo doch das ausgeben, was ich im Sinne hatte, da finde ich z.B. meinen Atom Editor doch ganz nett, dass der mir mein Getippe vervollständigt, korrigiert etc.


    Es macht ja auch Sinn, schriftliches Dividieren zu erlernen, einfach um die Logik hinter gewissen Schritten zu lernen. Auch wenn man später eh alles in den Taschenrechner oder gar in ein System eingibt, was einem automatisch alles ausführt was man möchte.


    In der Zwischenzeit habe ich mich ein wenig zu CMS eingelesen und für meine Zwecke erscheint WordPress am sinnvollsten. Allerdings möchte ich erstmal firm werden im "Fußgängermodus".


    Das heißt um Himmels Willen nicht, dass ich eure Ratschläge ignorieren möchte, oder drüber zu stehen glaube. Ist einfach mein persönlicher Weg. Ein Mann, ein Editor, eine leere Datei.


    BTW i use Arch. Vielleicht erklärt das einiges.

    Soweit ich verstehe sind CMS ja bereits fertige Programme oder Dienste. Ich mein sonst bräuchte ich ja nicht HTML lernen, sondern mir einen Jimdo Account erstellen.


    Noch habe ich mich mit CMS nicht befasst. Aber je mehr externe Programme ich benutze, umso abhängiger mache ich mich von diesen Programmen.


    Tennis spielen lerne ich ja auch nicht, indem ich meine Bälle in eine Ballwurfmaschine speise und sie auf meinen Gegner feuere, obwohl das bestimmt effektiver wäre.


    Ich formuliere mal anders: was wäre denn die Alternative zu meinem auf Seite 1 beschriebenen Ansatz OHNE Programme, extra Editoren, Sonderfunktionen etc zu nutzen?


    Nochmal: auch wenn es einfacher eleganter und schneller geht, möchte ich zu Lernzwecken erstmal den manuellen Weg gehen und erlernen, um dann später zu verstehen, was das CMS z.B. da überhaupt gerade macht.


    Wenn ich einem Homepagebaukasten sage, der Hintergrund soll blau werden, weiß ich, dass der homepagebaukasten in Wirklichkeit die .CSS anspricht und ihr sagt, dass <body bgcolor="xyz"> ist.


    Ich hoffe mein Ansatz und mein Wunsch wird hier deutlich.

    Ich schreibe derzeit in Atom aber wirklich erstellt habe ich die Codes im ganz banalen leeren Editor ohne jegliche Warn- oder Fehlermeldungen.


    m.scatello mir macht noch die Phrase zu denken, dass ich es heftig übertreibe. Irgendwie kam es mir vor, als sei das noch nicht genug.


    Bin ich denn etwa auch mit diesem Ansatz auf dem Falschen Dampfer, wenn ich eine universelle Struktur haben möchte?



    Angenommen:


    Meine Website hat mittlerweile 500 Seiten. Abgesehen vom Inhalt in der content-area sehen die alle gleich aus. In der Sidebox steht immer dasselbe, in der Adbox ist immer derselbe Link.


    Nun will ich lediglich das Bild in der Sidebox durch ein anderes austauschen und einen weiteren Link hinzufügen, weil mal wieder ein neues Social Media groß rausgekommen ist. Natürlich renne ich nicht hin und editiere alle 500 .html Dateien oder?


    Da schien mir mein Aufbau geeignet für zu sein. Ich editiere lediglich die sidebox.html im /architecture Ordner und alle 500 Seiten haben ja eh die Aufgabe, die sidebox.html zu importieren. Eine Änderung wird also bei allen wirksam. Und so verfahre ich mit der gesamten Struktur der Seite.


    Ich möchte jetzt erstmal nicht weitergehen in Richtung Datenbanken, MySQL usw. Eigentlich wollte ich eher eine Basic-Seite bauen. OK gemacht. Und okay mich etwas mit PHP austoben. Aber das wärs auch schon.


    Was WÄRE denn eurer Meinung nach der gängige Weg, eine solche "universelle" Struktur zu erschaffen, die man bequem auf alle weiteren Folgeseiten projeziert (seien es hunderte oder gar tausende)?

    Leider hat das mit dem Einrücken beim Erstellen des Posts wunderbar geklappt aber beim Absenden ist alles wieder an den Zeilenanfang gerückt. Da entschuldige ich mich für und versuche das übersichtlicher zu gestalten.


    An der HTML werde ich gemäß deinen Tipps feilen. Aber darf ich davon ausgehen, dass die Testseite die alles importiert hat formell richtig ist?

    Liebe Freunde,


    ich habe mich nun recht lange mit dem "include" "readfile" und "require" herumgeschlagen aber ich bekomme als Ergebnis lediglich eine leere Seite. Dies kann eigentlich nur zwei Ursachen haben. 1) ich gebe den Pfad falsch an oder 2) ich habe die Aufteilung der Seitenarchitektur falsch gemacht. Ich möchte euch nun eine ausführliche und 1:1 getreue Situation meines offline-Ordners aufführen. Vielleicht fällt jemandem ja ein schwerwiegender Fehler auf.


    1. Ordnerbaum


    mywebsite

          index.php

          format.css

          /architecture

    adbox.html

    articleopen.html

    articleclose.html

    bodyopen.html

    bodyclose.html

    buttontop.html

    footer.html

    head.html

    header.html

    mainnav.html

    pagetop.html

    sidebox.html

    wrapperopen.html            

    /pages

    page1.php

    page2.php

    about.php

    /txt

    article1.txt

    article2.txt

    /img

    img1.jpg

    img2.jpg


    2. Index


    Der Index dient mir als Vorlage. Er sieht meines Erachtens für den Anfang gut aus. Also habe ich seine einzelnen Elemente in die jeweiligen Dateien im Ordner "architecture" aufgeteilt. Der Index sieht so aus:


    <!doctype html>

    <html lang="de">

    <head>

    <meta charset="utf-8">

    <title>Home</title>

    <link rel="stylesheet" href="format.css">

    </head>

    <body>

    <a id="pagetop"></a>

    <div class="wrapper">

    <header class="main-head">

    <img src="img/sit-twist.jpg"></img>

    </header>

    <nav class="main-nav">

    <ul>

    <li><a href="index.html">Home</a></li>

    <li><a href="...">Topic1</a>

    <ul>

    <li><a href="...">Subtopic1</a> <ul>

    <li><a href="...">Subsubtopic1</a></li> <li><a href="...">Subsubtopic2</a></li>

    </ul>

    </li>

    <li><a href="...">Subtopic2</a></li> </ul>  

    </li>

    <li><a href="...">Topic2</a>

    <ul>

    <li><a href="...">Subtopic1</a></li>

    <li><a href="...">Subtopic2</a></li>

    <li><a href="...">Subtopic3</a></li>

    </ul>

    </li>

    <li><a href="...">Topic3</a></li>

    <li><a href="/pages/about.php">About</a></li>

    </ul>
    </nav>

    <article class="content">

    <h2>Home</h2>

    <hr></hr>

    <img src="img/img1.jpg" width="20%" align="left" hspace="20px" vspace="20px"</img>

    <p><a href="#pagetop"><button id="buttontop" title="back to top">Back to top</button></a></p>

    </article>

    <div class="sidebox">

    <img src="img/img2.jpg"></img>

    <h3>About</h3>

    <p>Read <a href="...">more...</a></p>

    </div>

    <div class="adbox">

    <p></p>

    </div>

    <footer class="main-footer">

    <p>Copyright 2020</p>

    </footer>

    </body>

    </html>


    3. Die Architekturdateien im "architecture"-Ordner


    Die in Punk 2. aufgeführte Indexstruktur habe ich nach meinem Verständnis so aufgebrochen, dass wenn ich die einzelnen Elemente später durch reihenfolgenmäßiges Includen aneinanderreihe, wieder diese Aufbau zustande kommt. Ich habe die Dateien wie folgt mit Inhalt versehen:


    head.html

    <head>

    <meta charset="utf-8">

    <title>Home</title>

    <link rel="stylesheet" href="format.css">

    </head>


    bodyopen.html

    <body>


    pagetop.html

    <a id="pagetop"></a>


    wrapperopen.html

    <div class="wrapper">


    header.html

    <header class="main-head">

    <img src="img/img1.jpg"></img>

    </header>


    mainnav.html

    <nav class="main-nav">

    <ul>

    <li><a href="index.html">Home</a></li>

    <li><a href="...">Topic1</a>

    <ul>

    <li><a href="...">Subtopic1</a>

    <ul>

    <li><a href="...">Subsubtopic1</a></li>

    <li><a href="...">Subsubtopic2</a></li>

    </ul>

    </li>

    <li><a href="...">Subtopic2</a></li>

    <ul>

    <li><a href="...">...</a></li>

    </ul>

    <li><a href="...">...</a></li>

    </ul>

    </li>

    <li><a href="...">...</a>

    <ul>

    <li><a href="...">...</a></li>

    <li><a href="...">...</a></li>

    <li><a href="...">...</a></li>

    </ul>

    </li>

    <li><a href="...">Image Gallery</a></li>

    <li><a href="/html/about.php">About</a></li>

    </ul>

    </nav>


    articleopen.html

    <article class="content">


    buttontop.html

    <p><a href="#pagetop"><button id="buttontop" title="back to top">Back to top</button></a></p>


    articleclose.html

    </article>


    sidebox.html

    <div class="sidebox">

    <img src="img/img2.jpg"></img>

    <h3>About</h3>

    <p>Read <a href="...">more...</a></p>

    </div>


    adbox.html

    <div class="adbox">

    <p></p>

    </div>


    footer.html

    <footer class="main-footer">

    <p>Copyright 2020</p>

    </footer>


    bodyclose.html

    </body>


    Wenn man nun alle Dateien in dieser Reihenfolge aneinanderheftet, erhält man die exakte Struktur der oben aufgeführten und funktionierenden index.php



    4. Testseite und Include


    Nun erstelle ich eine leere Seite im /pages Ordner welche ich "testinclude.php" nenne. Ich formatiere sie direkt zu Beginn als .php, denn ich plane mit PHP die Elemte aus dem Architekturordner zu importieren. Einige immer wiederkehrende Elemente wie das Doctype behalte ich bei, denn die sind unveränderbar. Lediglich die Elemente, welche ich später vielleicht modifizieren möchte, habe ich in die Architekturdatein ausgelagert. Die testinclude.php Seite sieht nun wie folgt aus:


    <!doctype html>

    <html lang="de">

    <? php

    readfile("./architecture/head.html");

    readfile("./architecture/bodyopen.html");

    readfile("./architecture/pagetop.html");

    readfile("./architecture/wrapperopen.html");

    readfile("./architecture/header.html");

    readfile("./architecture/mainnav.html");

    readfile("./architecture/articleopen.html");

    readfile("./architecture/buttontop.html");

    readfile("./architecture/articleclose.html");

    readfile("./architecture/sidebox.html");

    readfile("./architecture/adbox.html");

    readfile("./architecture/footer.html");

    readfile("./architecture/bodyclose.html");

    ?>

    </html>


    Wenn ich die Seite so speichere und versuche aufzurufen, so erhalte ich eine durchweg leere, weiße Seite.


    Problemvermutung 1: Pfad


    Da die Seite im /pages Ordner liegt, die zu importierenden Dateien in einem anderen Ordner auf derselben Ebene, benutze ich einen relativen Pfad. Also ./ um den Ordner in die höhere Ebene zu verlassen und /architecture um in den Architekturordner zu gelangen. Zum Schluss dann die jeweilige Datei.


    Ergo: "./architecture/datei.html".


    Ich las in Foren, dass man den Ordner mit zwei Punkten verlässt. Ist das richtig? Also "../architecture/datei.html"?



    Problemvermutung 2: CSS


    Die CSS Datei befindet sich wie die Index.php im Rootverzeichnis also an oberster Ebene. In der Index.php verweise ich auf Stylesheet "format.css" also ohne Pfadangabe. Das lässt die Datei vermuten, dass die CSS Datei im selben Verzeichnis ist. Das stimmt ja aber nur bei der index.php. Alle anderen Seiten befinden sich im /pages Ordner.


    Lösungsvermutung: Ich kann mir vorstellen, dass ich eine Architekturdatei erstellen muss, welche explizit stylesheet als "./format.css" ansteuert, da man ja wieder erst mit ./ aus dem Ordner in die Rootebene heraustreten muss.



    Problemvermutung 3: Aufteilung


    Vielleicht ist die Aufbröselung der Architektur schlichtweg falsch und PHP kann mit diesen Schnipseln nichts anfangen.



    Problemvermutung 4: Wrapper


    Ich sehe, dass ich nur <div class="wrapper"> habe, welcher für mein CSS wichtig ist. Allerdings habe ich diesen div nie mit </div> beendet. Zwar funktioniert das in der gesamtheitlichen index.php aber vielleicht verursacht das ja beim Importieren diese Darstellungsprobleme.



    Ich hoffe, dass ich mein Problem ausführlich genug beschrieben habe und hoffe sehr, dass erfahrenen Leuten sofort mein Patzer ins Auge springt.

    Nun eine Stufe weiter: kann man dem importierten Teil befehlen, wiederum etwas in sich hineinzuimportieren? Ich erkläre:


    Ich habe einen Ornder "architecture" man könnte auch "structure" oder "base" etc nennen. Da sind alle Teile meiner Seite(n) als einzelne Dateien.


    header.html

    navigation.html

    adbox.html

    article.html

    sidebox.html

    etc etc etc


    Ich habe einen weiteren Ordner der da z.B. heißt "txt", in dem ich meine Artikel als separate Dateien lagere.


    thema1.html

    thema2.html

    thema3.html

    thema4.html

    etc etc etc


    Diese Texte füge ich derzeit noch manuell in die Seiten, indem ich folgendes mache


    <div class="article">

    <? php

    readfile("thema1.html")

    ?>

    </div>


    Jetzt frage ich mich, ob ich eine Seite so aufbauen kann, dass die Architektur komplett importiere UND dem importierten Part befehlen kann, eine bestimmte Datei in sich zu importieren. Ich stelle mir den Code IN ETWA! wie folgt vor:


    <? php

    readfile("header.html");

    readfile("navigation.html");

    include("article.html") readfile ("thema1.html");

    readfile("sidebox");

    readfile("adbox");

    readfile("footer");

    ?>


    Auf diese Weise hätte ich alles univer...salisiert? Und wäre auf jeden Fall wunschlos glücklich, da ich nun alles aus meinen zentralen Dateien aus steuern könnte.


    Ich hoffe ich konnte meinen Wunsch verständlich äußern: Eine importierte Datei soll wiederum eine andere in sich importieren.


    Lieben Dank!

    Liebe Freunde,


    Ich bin begeistert davon, wie übersichtlich alles durch das Inkludieren externer Texte via PHP in die Hauptseite wird. Ich kann den Artikel oder Bericht separat lagern und bearbeiten, ohne zig Zeilen in der Hauptdatei zu durchsuchen.


    Nun möchte ich herausfinden, ob man mit PHP include nicht gar ganze Elemente zentral lagern und importieren kann! Lasst mich erklären, wie ich darauf komme, indem ich mein Problem schildere.


    Meine Lernwebsite hat viele Seiten.


    Index (Home)

    Kategorie 1

    Unterkategorie 1

    Unterkategorie 2

    Unterkategorie 3

    Kategorie 2

    Unterkategorie 1

    Unterkategorie 2

    Kontakt

    About


    Und je weiter die Seite wächst, desto mehr Seiten werden es. Ich möchte natürlich, dass alle Seiten, abgesehen vom Inhalt der <div content> gleich aufgebaut sind. Oben der header, dann die navigation, links seine Sidebar, rechts eine Sidebox, darunter eine Ad-Box, in der Mitte der Content, unten der Footer etc. Bislang habe ich die Indexseite nach meinen Belieben gestaltet. etliche Zeilen Code. Okay. Jetzt könnte ich hingehen, copy paste in alle weiteren Seiten. Bloß, dass der Content anders ist.


    Was jedoch, wenn ich mich entscheide, bloß dieses eine Bisschen zu verändern? Den Platz von Boxen vertauschen oder etwas anderes? Müsste ich jede einzelne Seite bearbeiten und dort die Elemente manuell ändern? Ich meine, analog dazu dient CSS ja als die universelle Datei, sodass man alle Style-Geschichten auslagert in eine separate Datei, die dann für alle gültig ist.


    Dasselbe schwebt mir vor mit dem generellen Aufbau. So stelle ich mir vor, dies zu lösen:


    Ich lege einen Ordner "Architecture" an. Hier erstelle ich folgende beispielhafte Dateien:


    header.txt

    body.txt

    navigation.txt

    sidebox.txt

    sidebar.txt

    content_area.txt

    footer.txt


    jede dieser Dateien befülle ich mit den jeweiligen Scripts aus der ursprünglichen Index.html. Nur dass nun alles separiert ist.


    Nun brauche ich jede weitere Seite nur noch anzuweisen:


    <? php

    include(header.txt)

    ?>

    <? php

    include(body.txt)

    ?>

    <? php

    include(navigation.txt)

    ?>


    und so weiter und schon wird aus einer universellen Datei importiert. Wenn ich nun beschließe, der Navigation ein Element hinzuzufügen, so tue ich es in der universellen Datei und schon gilt das für alle anderen weiteren Seiten. Ob es 10, 100 oder 1000 seien.


    Bin ich da mit diesem Ansatz auf der richtigen Spur?


    Liebe Grüße