Mit Link externe HTML-Datei in definierten Bereich laden?
Stefan
- php
Hallo,
als Anfänger tue ich mich "etwas" schwer:
Habe auf der linken Seite meine Links, und möchte damit auf der rechten Seite (Tabellenbereich) externe HTML-Dateien hinein laden.
Kann mir bitte jemand helfen?
Danke!
Hallo Stefan!
Habe auf der linken Seite meine Links, und möchte damit auf der rechten Seite (Tabellenbereich) externe HTML-Dateien hinein laden.
Du übergibst in dem Link am einfachsten irgendne Variable, und wertest diese dann aus.
Je nachdem, was Deine Auswertung ergibst includierst du verschiedene Inhalte.
(Lesetips:
http://de.php.net/manual/de/language.variables.predefined.php (vor allem _GET),
http://de.php.net/manual/de/control-structures.php,
http://php.net/include)
Kann mir bitte jemand helfen?
Ich hoffe, daß ich helfen konnte.
Schau dir doch am besten mal ein paar PHP-Tutorials an, wär bestimmt nicht verkehrt.
Für PHP-Anfänger ist http://dclp-faq.de/ auch mit Sicherheit interessant.
Ein weiters Tutorial, das Du Dir mal anschauen könntest ist http://php-center.de/phpschulung/index.htm.
Weitere Interessante Tutorials findest du z.B. auf http://dynamic-webpages.de/05.tutorials.php oder http://www.phpwelt.de/tutorials/tarchiv.php.
(natürlich gibt es auch noch viele weitere Tutorials, doch die kannst du dann ja alleine entdecken ;)
MfG
Götz
Hallo Götz,
erstmal danke für die umfangreichen Linktippts. Habe mir die Sachen auch angeschaut, aber -da ich erst seit gestern mit PHP beschäftige- "nix gerafft".
Ich suche etwas einfaches in der Art:
<?php
include("test.htm")
?>
Aber dasß ich diesen bereits geladenen Inhalt ("test.htm") mit einem Link auf derselben Seite (!) auswechseln kann. "test.htm" soll dann ersetzt werden durch "test_2.htm".
Könnte mir bitte jemand die Lösung meines Problems (Code!) posten?
Vielen Dank!!! :-)
Hallo Stefan!
erstmal danke für die umfangreichen Linktippts. Habe mir die Sachen auch angeschaut, aber -da ich erst seit gestern mit PHP beschäftige- "nix gerafft".
Naja. Fang am besten vorne an ... les dir mal so ein grundlegendes Tutorial durch, und versuche dann gleich das ,was dort gesagt wird nachzubauen ...
Könnte mir bitte jemand die Lösung meines Problems (Code!) posten?
nuja, wir wollen mal nicht so sein, und Dir ein grobes Gerüst geben:
<?php
if(isset($_GET['seite']) && $_GET['seite'] == 'test')
{
include($_GET['seite'].'.html');
}
else
{
include('start.html');
}
?>
Ein Link, bei dem test.html eingebunden wird würde also auf index.php?seite=test verweisen (vorrausgesetzt, die PHP-Datei heißt index.php).
Genaueres zu includes usw. kannst Du ja entweder direkt im Manual, oder für Anfänger vielleicht besser erstmal in einem Tutorial nachlesen.
MfG
Götz
Hallo Götz,
mit diesem Script rufe ich das Dokument automatisch auf. Es soll aber so sein, das ich einen Link betätige, und der Inhalt, der standardmäßig in den Tabellenbereich geladen wurde (auch über PHP:)
<?php
include("haupt.htm")
?>
ersetzt wird durch den Inhalt einer anderen HTML-Datei.
Was mir AUCH fehlt, ist der Code für den Link, mit dem ich den Austausch "starte".
Hättest Du da vielleicht eine Lösung?
Stefan
Hallo Stefan!
mit diesem Script rufe ich das Dokument automatisch auf. Es soll aber so sein, das ich einen Link betätige, und der Inhalt, der standardmäßig in den Tabellenbereich geladen wurde (auch über PHP:)
Ähm?
Also, mein Codeschnipsel, den ich gepostet hab macht folgendes (ich hätte ihn vielleicht doch auskommentieren sollen ...):
Er prüft, ob $_GET['seite'] gesetzt ist bzw .ob $_GET['seite'] den Wert "test" hat (das macht das if im Schnipsel).
(Übrigens: $_GET['seite'] ist die Variable, die mit ?seite=wert in der Adreßzeile übergeben wird)
Wenn dies so ist, wird test.html includiert, wenn dies nicht so ist (Jetzt sind wir beim else aus dem Schnipsel), wird start.html bzw. haupt.html oder wie Deine Start- bzw. Standardseite auch immer heißen mag, includiert.
Du mußt natürlich diesen Codeschnipsel an der richtigen Stelle einbauen, also genau dort, wo Inhalt ersetzt werden soll.
Was mir AUCH fehlt, ist der Code für den Link, mit dem ich den Austausch "starte".
Ja, den Link hab ich ja dazugeschrieben.
Der Austausch wird dadurch "gestartet", daß Du die Variable seite mit einem entsprechenden Wert an das PHP-Script übergibst.
Hättest Du da vielleicht eine Lösung?
Ähm, ja.
Siehe mein letztes Posting, das ist eigentlich alles, was Du brauchst, um eine ganz einfach Ersetzung zu machen.
Ich hoffe, es war nun ein wenig verständlicher.
MfG
Götz
hi,
Was mir AUCH fehlt, ist der Code für den Link, mit dem ich den Austausch "starte".
wenn du, wie götz es vorgeschalgen hast, mit GET-parametern arbeitest, dann sehen deine links so aus:
index.php?seite=test.htm
index.php?seite=kontakt.htm
index.php?seite=info.htm
sie zeigen alle wieder auf das selbe script (unter den namen index.php), und dort hast du dann nach dem klicken eines solchen links wie oben eine variable $_GET['seite'] zu verfügung, die dann eben den text(!) "test.htm", "kontakt.htm" oder "info.htm" als string enthält.
diese variable fragst du jetzt mit einer if-abfrage ab, und wenn "test.htm" drinsteht, dann führst du eben auch den befehl
include "test.htm"
aus ...
Hättest Du da vielleicht eine Lösung?
du solltest auf götz' ratschlag hören, und dich zunächst einmal mit den absoluten grundlagen von php beschäftigen.
eine recht gute deutschsprachige anlaufstelle dafür ist http://www.schattenbaum.net/php/.
und das offizielle manual unter http://www.php.net/manual/de/ solltest du auch immer zum nachschlagen der genauen schreibweise und verwendung von befehlen verwenden, bevor du weitere fragen stellst.
gruss,
wahsaga
Hallo wahsaga!
index.php?seite=test.htm [...]
Naja, nicht ganz ;)
Ich hab include($_GET['seite'].'html') geschrieben glaube ich, also müssen die Links ohne Endung sein. (man sollte eh prüfen _was_ da denn für ne Seite übergeben wird ... nicht daß man alles mögliche includieren kann!)
Ansonsten habe ich Deinem Posting nichts mehr hinzuzufügen ;)
MfG
Götz
hi,
Naja, nicht ganz ;)
Ich hab include($_GET['seite'].'html') geschrieben glaube ich, also müssen die Links ohne Endung sein.
ich hatte mich nicht 1:1 auf dein beispiel bezogen.
ich sagte, wenn du ?seite=test.htm übergibst, hast du in $_GET['seite'] nachher auch "test.htm" drinstehen, und kannst entsprechend reagieren ...
(man sollte eh prüfen _was_ da denn für ne Seite übergeben wird ... nicht daß man alles mögliche includieren kann!)
jepp, ganz ungeprüft ist harakiri.
gibt viele einfache möglichkeiten, z.b. erlaubte seitennamen in ein array packen und mit in_array() abfragen, ob "erlaubt", oder nur dateien aus dem selben verzeichnis zulassen, oder oder oder ...
gruss,
wahsaga
Hallo Götz,
ich weiß: Ich bin blöd! Ich hab´ rumprobiert, aber ich kriegs nicht hin. Ich baue gerade die Referenzseite meiner neuen Site, und bevor ich die nun 30x kopiere, muß das funktionieren. Ich will ja PHP lernen - nur muß ich erst mal die Seite ins Netz stellen (das wäre schon dringend).
Bitte Hilfe!
Die Datei heißt "ie.htm".
Habe jetzt als Link;
<a href="ie.php?seite=artikel.htm?aktion=starte">Artikel in rechten Bereich laden</a>
... und im Tabellenbereich (rechte Seite in derselben Datei):
<?php
include("haupt.htm")
?>
<?php
if ($GET['aktion'] == "starte")
{
include("artikel.htm")
}
?>
Der obere include ("haupt.htm") wird automatisch geladen, wenn die Datei "ie.htm" aufgerufen wird. Mit dem Link will ich den Inhalt in diesem Tabellenbereich ersetzen durch den Inhalt der Datei "artikel.htm". Aktuell zeigt die Datei "ie.htm" keinen Inhalt mehr!
Danke!!!
Stefan
Hallo Stefan!
Wegen 30 Seiten so rumzustressen, also bitte!
30 Seiten sind per Search&Replace in nullkomanix geändert, also soo dringend ist es dann doch nicht.
<a href="ie.php?seite=artikel.htm?aktion=starte">Artikel in rechten Bereich laden</a>
Hast Du eigentlich mal irgendeins der PHP-Tutorials gelesen?
Falls ja, solltest Du wissen, daß man mehrere Variablen mit & trennt, und nicht mit ? (als Link in HTML sollte man dann aber & udn nicht nur & schreiben, weil das mag der Valli nicht so).
... und im Tabellenbereich (rechte Seite in derselben Datei):
Also, wo Du welchen Teil ersetzen willst ist völlig egal, im Prinzip, denn das Prinzip ist immer das selbe.
Ich verstehe
1. nicht, was Du da für ein Script gebaut hast,
2. nicht, wo jetzt das Problem genau liegt
und 3. nicht, warum du nicht einfach mein Beispiel genommen und angepaßt hast.
Ehrlich gesagt:
Ich weiß nicht, wie ich Dir jetzt noch helfen kann.
(Nein, deine Seite werde ich Dir nicht bauen, ich hab Dir schon ein kompletten verwertbaren Codeschnipsel geliefert, der eigentlich genau das macht, was Du wolltest.)
MfG
Götz
hi,
Aktuell zeigt die Datei "ie.htm" keinen Inhalt mehr!
dann solltest du dir zunächst mal den html-quelltext ansehen, den der browser bekommt.
mich beschleicht grade das gefühl, dass du vielleicht komplette html-seiten inkludest, also nach dem einbinden von haupt.htm und artikel.htm mehrmals <html>, <body> und co. in deiner "seite" hast ...
gruss,
wahsaga