• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zielbereich eines Links - warum funktionierts nicht

Status
Für weitere Antworten geschlossen.

searchandfind

Neues Mitglied
Ich habe folgenden Quelltext in meiner Index-Datei:

Code:
<html>
 <head>
  <link rel=stylesheet type="text/css" href="style.css">
 </head>
 <body>
  <div id="banner">
   <h1 align="center">BANNER</h1>
  </div>
  <div id="navigation">
   <table>
    <tr>
     <td><a href="link1.html" target="main">LINK1</a></td>
     <td><a href="link2.html" target="main">LINK2</a></td>
    </tr>
   </table>
  </div>
  <div id="main">
  </div>
 </body>
</html>
Ich will jetzt, dass bei einem Klick auf "LINK1" der Inhalt der Datei "link1.html" in dem div-Container mit der ID "main" angezeigt wird, bei einem Klick auf "LINK2" der Inhalt von "link2.html". Leider funktioniert das nicht so wie ich will, sondern es öffnet sich immer ein neuer Tab in dem der Inhalt dann angezeigt wird.

Wer kann mir helfen?

Grüsse,
searchandfind
 
Also soll dann er div-Container "main" am Ende so aussehen?!:

Code:
<div id="main">
 <?php
 include();
 ?>
</div>

Leider funktioniert's so immernoch nicht. Muss die PHP-Anweisung vielleicht woanders hin (tut mir Leid, ich hab echt keine Ahnung von PHP)...
 
Ich habe folgenden Quelltext in meiner Index-Datei
Ein paar Tipps hierzu:
1. Ein Menü sollte nicht als Tabelle ausgezeichnet werden, immerhin handelt es sich nicht um tabellarische Daten. Es ist quasi eine eindimensionale Tabelle, und das ist eine Liste. Benutze also besser <ul>.
2. Unabhängig von der Auszeichnung des Menüs gibt es keinen Grund, die Tabelle nochmal in ein <div> zu packen. Das Element div ist dazu da, mehrere Elemente zwecks gemeinsamer Formatierung zu gruppieren. Das ist hier nicht nötig, weil Du alle Eigenschaften, die Du dem div gibst, Du auch der Tabelle (oder eben besser der Liste) geben kannst.
Ebenso ist es unnötig, die Überschrift <h1> auch nochmal in ein <div> zu packen. Du packst ja ein Geschenk auch nicht in zwei Kartons ein, sondern nur in einen :-)

Ich will jetzt, dass bei einem Klick auf "LINK1" der Inhalt der Datei "link1.html" in dem div-Container mit der ID "main" angezeigt wird
Sowas ist prinzipiell nicht möglich und war auch nie vorgesehen. Zeitweilig hat man sowas mit Frames gemacht, aber von Frames kann ich nur abraten.
Beim Klick auf einen Link wird immer eine neue Seite geöffnet. Das ist der normale Lauf der Dinge.

Wenn Du gleichbleibende Elemente auf Deiner Site nicht immer neu schreiben willst, dann nutze eine serverseitige Technik, wie das auch schon empfohlen wurde, z.B. include() in PHP.

include(filename); liest die Datei "filename" und baut sie an der Stelle des PHP-Befehls ein. So wie Du Deinen Code geschrieben hast, bewirkt er gar nichts, weil kein Dateiname angegeben ist. Du kannst aber einen einsetzen, dann wird der Inhalt der Datei in Dein div#main geschrieben - aber serverseitig bevor die Seite in Deinem Browser zur Anzeige kommt!

Gruß,
-Efchen
 
Also soll dann er div-Container "main" am Ende so aussehen?!:

Code:
<div id="main">
 <?php
 include();
 ?>
</div>

Leider funktioniert's so immernoch nicht. Muss die PHP-Anweisung vielleicht woanders hin (tut mir Leid, ich hab echt keine Ahnung von PHP)...

Der Ansatz ist gar nicht sooooooooo schlecht. Aber woher soll der arme Server denn wissen auf welchen Link dein Besucher gerade geklickt hat? Die einfachste Methode:

Deine Links verlinken alle auf index.php?section=link1 (Beispiel)

Dann überprüfst du, wie die Variable "section" heißt:

Code:
if($_GET['section'] == "link1") {
  include(link1.html);
}
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben