Brotkrümelnavigation im 3 Zeilen Layout
Karl
- php
Hi,
eine HP ist im 3 Zeilen Layout erstellt:
//index.php
<?php
include("oben.php");
include('config.php');
if(isset($_GET['seite']) AND isset($dateien[$_GET['seite']]))
{
if(!file_exists($dateien[$_GET['seite']])) echo "<center>Diese Seite existiert nicht.<br>Bitte wählen Sie im Menü eine Seite aus.</center>";
include $dateien[$_GET['seite']];
}
else
{
include $dateien['start'];
}
include("unten.php");
?>
also oben der header, unten der footer und in der mitte die inhaltsseiten als includes.
nun möchte ich in die inhaltsseiten eine brotkrümelnavi reinbauen, bin aber bisher immer daran gescheitert, dass immer nur die index.php (mit jeweils anderem inhaltscontainer) erkannt wurde.
wie kann ich es realisieren, dass die includierten inhaltsseiten (in welchen sich das breadcrumb script befindet) auch als solche in ihrer ordnerstruktur erkannt werden?
//breadcrumb script
<span class="breadcrumb">
<?php
$an="Sie befinden sind hier: ";
$home="index.php/";
$pie=explode("/","$_SERVER[PHP_SELF]");
$tr=" >> ";
$b=count($pie);
echo $an."<a href="".$home."">Home</a>";
for($a=2;$a<$b-1;$a++){
$ta=$ta.$pie[$a]."/";
echo $tr."<a href="".$home.$ta."">".ucfirst($pie[$a])."</a>";}
$file=explode('.',ucfirst($pie[$b-1]));
echo "<b>".$tr.$file[0]."</b>";
?>
</span>
Hallo
nun möchte ich in die inhaltsseiten eine brotkrümelnavi reinbauen, bin aber bisher immer daran gescheitert, dass immer nur die index.php (mit jeweils anderem inhaltscontainer) erkannt wurde.
wie kann ich es realisieren, dass die includierten inhaltsseiten (in welchen sich das breadcrumb script befindet) auch als solche in ihrer ordnerstruktur erkannt werden?
Links werden über HTTP ausgeführt, und dort gibt es nur deinen index.php mit Parametern. Die Dateien, die du mit include einbindest, werden über das Dateisystem in die index.php eingebunden. Mit $_SERVER["PHP_SELF"] oder $_SERVER["SCRIPT_NAME"] bekommst du nur den Pfad zur aufrufenden Datei, sozusagen zum 'Mutterskript', hier index.php.
Du kannst aber an den String, der später im href-Attribut des Links stehen wird, genau den Parameter anhängen, der zum Laden genau dieses Includes nötig ist. Das Gleiche gilt natürlich für den Linktext.
Tschö, Auge
aber wie lese ich die parameter aus?
z.B. ?seite=impressum etc.
oder habe ich da etwas falsch verstanden
Hallo
Antwortest du dir selbst oder mir? Im letzteren Fall benutze bitte demnächst das Formular unterhalb meines, oder allgemeiner gesprochen unterhalb des Postings, auf das du antworten willst.
Dann sieht man als Leser gleich, ob ein Posting eine Antwort auf ein anderes ist.
aber wie lese ich die parameter aus?
z.B. ?seite=impressum etc.
oder habe ich da etwas falsch verstanden
Ähem, wieviel Erfahrung hast du mit PHP?
Gelesen wird dein obiger GET-Parameter vom Skript per $_GET['impressum']. Andere Parameternamen, andere $_GET-Arrayelementnamen. Wenn du die gelesen und auf Plausibilität geprüft(!) hast, liegen sie dem Skript als auswertbare Variable vor.
Was hindert dich nun daran, beim Aufbau deiner Hänsel-und-Gretel-Navigation mithilfe von $_GET['impressum'] das href-Attribut mit der richtigen URL zu füllen?
<?php
$url = 'http://www.example.com/index.php?seite='.$_GET['impressum'];
$linktext = 'irgendein blöder, sinnfreier Linktext';
echo '<a href="'.$url.'">'.$linktext.'</a>';
?>
Tschö, Auge
<?php
$url = 'http://www.example.com/index.php?seite='.$_GET['impressum'];
$linktext = 'irgendein blöder, sinnfreier Linktext';echo '<a href="'.$url.'">'.$linktext.'</a>';
?>
wenn ich die werte aus der URL auslese und anschließend gleich in meinen script verwende, ist das nicht gefährlich?
z.B.
$seite =$\_GET['seite'];
....
http://www.example.com/index.php?seite=urlvonbösemscript [ENTER]
\---
so das wäre das eine,
meine andere frage dazu. wie ist es eigentlich üblich bei größeren verzweigten webauftritten, vom seiten aufbau her?
1\. so wie bei mir: "index.php" und alle inhalte includiert?
2\. oder: alle inhalte in einer ordnerstruktur und in der "irgendeinhalt.php" werden die navigation, header, footer, etc. includiert. (wäre das problem mit den unterschiedlichen relativen include-pfaden)
von datenbanken jetzt mal abgesehen.
Danke für jegliche hilfe!
mfg
karl