• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Fragen zur Webseiten Erstellung

Goddess

Spiele-Kenner/in
Registriert
11.03.2004
Beiträge
2.846
Reaktionspunkte
0
Hallo, ich arbeite derzeit an meiner ersten Homepage, geschrieben in .css und .html, und brauche nun ein wenig Hilfe. Wie kann ich Inhalte aus einer externen Datei einlesen, die dann in einem bestimmten Bereich der Seite angezeigt werden?

Ich stelle mir das ganze ungefähr so vor. Wenn ein klick auf einen Menü-Punkt erfolgt dann sollte eine Themen-Übersicht aus einer zweiten Datei geladen, und im Inhalts-Bereich meiner Webseite angezeigt werden. So bald ein Thema angeklickt wird soll das Thema, mit Bildern, formatiert, aus einer dritten Datei geladen, die Themen-Übersicht ersetzt, und im Inhalts-Bereich meiner Webseite angezeigt werden. Die Inhalte meiner Webseite sollten also dynamisch geladen und ersetzt werden können.

Ist das, so wie ich es mir vorstelle, auf möglichst einfache Weise erreichbar? Wie könnte der Code dafür aussehen?
 
Goddess am 11.01.2008 13:34 schrieb:
Hallo, ich arbeite derzeit an meiner ersten Homepage, geschrieben in .css und .html, und brauche nun ein wenig Hilfe. Wie kann ich Inhalte aus einer externen Datei einlesen, die dann in einem bestimmten Bereich der Seite angezeigt werden?

Ich stelle mir das ganze ungefähr so vor. Wenn ein klick auf einen Menü-Punkt erfolgt dann sollte eine Themen-Übersicht aus einer zweiten Datei geladen, und im Inhalts-Bereich meiner Webseite angezeigt werden. So bald ein Thema angeklickt wird soll das Thema, mit Bildern, formatiert, aus einer dritten Datei geladen, die Themen-Übersicht ersetzt, und im Inhalts-Bereich meiner Webseite angezeigt werden. Die Inhalte meiner Webseite sollten also dynamisch geladen und ersetzt werden können.

Ist das, so wie ich es mir vorstelle, auf möglichst einfache Weise erreichbar? Wie könnte der Code dafür aussehen?

Am besten nimmst du dafür php. Der Code sähe dann (in etwa) so aus:
Du hast eine Hauptseite (z.B. index.php) mit deiner Navi und an der Stelle, wo der Inhalt/die externe Datei erscheinen soll, machst du folgenden Code rein:
include($_GET["site"]);
Deine Navigationspunkte/Links musst du dann nur noch folgendermaßen setzen:
<a href = "index.php?site=deine_seite_die _angezeigt_werden_soll.html">Menüpunkt </a>

Dann wird nachdem man auf den Link geklickt hat die Seite index.php mit dem Inhalt der Seite deine_seite_die_angezeigt_werden_soll.html an der Stelle von include($_GET["site"]); geladen.
 
Danke für deine Antwort. Das habe ich nun versucht mit dem Ergebnis, das bei Aufruf der Seite "include($_GET["site"]);" angezeigt wird. Dieser Befehl sollte doch eigentlich nicht sichtbar sein? Nach einem klick auf den veränderten Link ändert sich nur die Adresszeile von "http://localhost/index.php" auf "http://localhost/index.php?site=missing.html", der Inhalt der Webseite bleibt jedoch der selbe.

An folgender Stelle in meinem Code sollte der Inhalt der Datei Missing.html gezeigt werden.
<div class="content">include($_GET["site"]);</div>
Mein Link sieht so aus.
<a href="index.php?site=missing.html"><div class="menu-links"></div></a>
In der externen Test-Datei steht folgendes.
<html>
<head>
</head>
<body>
Dieser Text sollte nun im Content-Bereich sichtbar sein.
</body>
</html>
Irgend etwas mache ich sicher falsch, nur was? Für eine genauere Erklärung wäre ich sehr dankbar, da ich mich mit PHP überhaupt nicht auskenne. ;-)
 
<div class="content">include($_GET["site"]);</div>

muss so heissen:

<div class="content"><?php include($_GET["site"]); ?></div>

Ist aber auch nicht der feinste Weg den Dateinamen per URL zu übergeben. Das auslesen über eine Switch Verzweigung wäre sinnvoller. Hier ist auch ein nettes Tutorial, das dir helfen sollte: http://tut.php-quake.net/include.html

In der externen Datei brauchst du übrigens keine <html><head> und <body> tags mehr, da du die schon in der Hauptseite mit der Include Anweisung drin hast. Du musst dir das einfach so vorstellen, dass anstatt des PHP Codes der Code der externen Datei drin steht.

MfG
 
Ja, "include" ist ein php-Befehl und muss in einem php-Bereich aufgerufen werden. EInen php-Bereich definierst du wie oben genannt mit <? oder <?php und beenden tust du den Bereich entsprechend mit ?>. Dazwischen wird php-Code auch als solcher interpretiert.
Ja, mit switch ist wohl besser, ich wollte das jetzt aber auf das Grundprinzip reduzieren, um ihn nicht vollkommen zu verwirren.
Mit switch wäre das einfach so (z.B.):
switch($_GET["site"]){
case "home":
include("index.php");
break;
case "impressum":
include("impressum.php");
break;
default:
include("index.php");
break;
}
 
Goddess am 11.01.2008 15:12 schrieb:
... Für eine genauere Erklärung wäre ich sehr dankbar, da ich mich mit PHP überhaupt nicht auskenne. ;-)
PHP braucht einen Server, der auch PHP unterstützt. Eine einwandfreie und funktionierende PHP Datei wirst du dir nicht korrekt anschauen können, wenn du keinen Webserver installiert und die Datei nur auf deiner Festplatte abgelegt hast.

Um zu schauen, ob dein Webspaceanbieter dir auch eine PHP Funktionalität zur Verfügung steht, erstelle eine datei mit dem Namen "test.php", Inhalt "<?php phpinfo(); ?>" und lade sie hoch.
Wenn du beim Aufruf der Seite nur die Zeile "<?php phpinfo(); ?>" agezeigt bekommst, unterstützt dein Webspace Anbieter kein PHP.

Wahrscheinlich kannst du den entsprechenden Webspace upgraden, so daß die PHP verfügbar ist, kostet dann aber auch mehr.


Wenn dein Webspace Anbieter PHP unterstützt, solltest du dir erst mal das eine oder andere PHP Tutorial durchlesen oder wenigstens so intensiv querlesen, daß du weißt, wie die Befehle switch, include und echo angewandt werden und wieso PHP in .HTML Dateien nichts bringt.
 
Nur noch ne kleine Anmerkung: Es gibt auch die Möglichkeit sich auf seinem Desktop PC einen Server zum testen von PHP-Dateien einzurichten. Wenn dein Anbieter also kein PHP unterstützt, du deine Scripte aber trotzdem testen willst, empfehle ich dir XAMPP, es installiert einen Apache Server auf deinem Computer und bringt auch PHP (+MYSQL) gleich mit. Anleitungen gibs auch unter dem Link.
Link
 
klausbyte am 12.01.2008 16:38 schrieb:
Ricco2001 am 12.01.2008 14:24 schrieb:
klausbyte am 12.01.2008 11:17 schrieb:
Ich empfehle dafür eher den WAMPserver2
Warum? Was ist daran anders /besser?
Der Fakt das ich es nutze.
Und darüberhinaus NIE Probleme oder so hatte.
Also ich hatte auch nie Probleme mit XAMPP und benutze es schon seit Jahren.
Aber ob WAMPServer2 besser/anders ist vermag ich nicht zu entscheiden, da ich WAMPServer2 nie ausprobiert habe. Aber bisher hatte ich auch keinen Grund, da ich mit XAMPP - wie erwähnt - stets vollkommen zufrieden war. Aber das ist sicherlich eine Geschmacks-/Gewohnheitssache. :-)
 
Danke für eure hilfreichen Hinweise, es hat wunderbar funktioniert! Das Beispiel von Mothman hat mir sehr weiter geholfen. Das Prinzip zu verstehen und es Umzusetzen ist mir nicht weiter schwer gefallen.

Worrel, der Anbieter bei dem ich meine fertige Seite hosten lassen will, funpics.de, unterstützt mit Sicherheit PHP. Das ich, um die Funktionalität der Seite testen zu können eine Webserver Software brauchen würde, habe ich auch recht schnell bemerkt. Daher habe ich es erst mit dem Windows eigenen IIS, mit MYSQL und PHP 5, und dann mit dem hier vorgeschlagenen Produkt XAMPP versucht. Mit XAMPP funktioniert alles was ich zum testen benötige einwandfrei. Ich werde mich aber mit Sicherheit, wie von dir Vorgeschlagen, auch noch etwas genauer mit den Befehlen befassen. Was ich aber nicht ganz verstehe ist deine Anmerkung, das PHP in HTML nichts bringt, kannst du das mal bitte genauer erklären?

klausbyte, danke für deinen Vorschlag, ich bleibe jetzt aber erst einmal bei XAMPP. Zum testen funktioniert es, und mehr als das will ich auch garnicht damit machen. ;-)
 
Goddess am 12.01.2008 17:17 schrieb:
Was ich aber nicht ganz verstehe ist deine Anmerkung, das PHP in HTML nichts bringt, kannst du das mal bitte genauer erklären?
Von der technischen Seite her, dass bei normalen Einstellungen des PHP Parsers nur Dateien mit der Endung .php durchlaufen werden und nicht .html.
Empfiehlt sich auch nicht, dass zu ändern da es auf den meisten Servern ebenso eingestellt ist.
 
Zurück