Seite 1 von 4
include und request
Verfasst: 03.01.2006 19:26
von |SONY|
hallo zusammen,
habe mir eine tabellenlose seite gebastelt komme nicht weiter mit der navi. da mir jemand sagte das das was ich vorhabe nur mit php gehen würde.
meine seite:
www.brazil-guide.de
was ich vorhabe: das ich die navi. inkl. die verlinkung der sub menüs und der verweis auf die jeweiligen inhalte nur einmal über php angepasst werden muss und sich der inhalt jeweils im hauptinhalt der seite öffnet.
php ist bei mienm provider aktiv. folgende fragen habe ich bitte noch zur verwendung von folgendem:
Code: Alles auswählen
eine datei die da heißt: switch.php
<?php
$show = $_REQUEST['show'];
if ($show == ""){
include ("inc/start.php");
}
switch($show)
{
case "start": include('inc/start.php'); break;
case "navi": include('inc/navi.php'); break;
## u.s.w.
}
?>
was ist die switch.php ?
was ist die start.php ?
sämtliche php dateien wie auch die nav.php kann ich wohl extern soeichern und dann diesen php code nur auf jeder seite einbinden !?
Code: Alles auswählen
und nun eine seite, die da heißt: start.php
<?php include ("$DOCUMENT_ROOT/inc/nav.php"); ?>
oder nur
<?php include ("inc/nav.php"); ?>
hier kann ich wohl ebenfalls die einmalig gespeicherte nav.php einfügen.
was ist aber die start.php ?
vielen dank an euch
gruss
sony
Verfasst: 03.01.2006 21:36
von S2B
Irgendwie habe ich das Gefühl, dass du da zwei Methoden vermischt hast.
1. switch.php?page=xxx:
Code: Alles auswählen
<!-- dein Code für den Header... -->
<?php
$show = (isset($_GET['show'])) ? $_GET['show'] : 'start';
switch ($show)
{
case 'start':
include('inc/start.php');
break;
[...]
}
?>
<!-- dein Code für den Footer... -->
2. Include der header.php/footer.php:
Code: Alles auswählen
<?php
include('inc/header.php');
?>
<!-- dein Code für die Seite... -->
<?php
include('inc/footer.php');
?>
Edit: Variablennamen ein bisschen auf den Code von oben angepasst.
Verfasst: 04.01.2006 18:47
von |SONY|
hi S2B,
und in den
<!-- dein Code für die Seite... -->
Code: Alles auswählen
was ich vorhabe: das ich die navi. inkl. die verlinkung der sub menüs und der verweis auf die jeweiligen inhalte nur einmal über php angepasst werden muss und sich der inhalt jeweils im hauptinhalt der seite öffnet.
brauche ich dann nur meine navigation einfügen und es funktioniert ?
vielen dank
sony
Verfasst: 04.01.2006 18:58
von S2B
Naja, zuerst mal musst du dich für eine der beiden Methoden entscheiden.
Wenn du die erste verwenden willst, kommt der Teil, der sich nicht verändert, in die switch.php und der Rest in die Dateien im Ordner inc.
Wenn du die zweite verwenden willst, kommt der Teil, der sich nicht verändert, in header.php bzw. footer.php (kann natürlich auch nav.php heißen

) im Ordner inc. Die Dateien werden dann in jede Datei includet.
Edit: Sorry für den Doppelpost *duck*
Verfasst: 04.01.2006 18:59
von S2B
Naja, zuerst mal musst du dich für eine der beiden Methoden entscheiden.
Wenn du die erste verwenden willst, kommt der Teil, der sich nicht verändert, in die switch.php und der Rest in die Dateien im Ordner inc.
Wenn du die zweite verwenden willst, kommt der Teil, der sich nicht verändert, in header.php bzw. footer.php (kann natürlich auch nav.php heißen

) im Ordner inc. Die Dateien werden dann in jede Datei includet.
Verfasst: 04.01.2006 19:26
von |SONY|
hi S2B,
danke das du einem anfänger wie mir hilfst:)
habe nun mal die zweite version versucht und folgendes gemacht:
eine nav.php erstellt
und diese extern gespeicherte nav.php dann so in meine index.htm eingebunden:
<link rel="nav" href="php/nav.php" title="nav" />
besten dank
gruss
sony
Verfasst: 04.01.2006 19:44
von MagMo
Hi,
und das funktioniert?
Wenn ich das richtig verstehe, dann hast du 2 Dateien:
1) index.htm
2) inc/nav.php
Wenn dem so ist, dann würde ich folgendes aus deiner inc/nav.php entfernen:
Und statt dessen in deine index-Datei einfügen.
Und das würde ich auch entfernen:
Und der Link ist sicher auch falsch:
Richtig ist sicher:
Die relative Verlinkung geht von der Datei aus in die 'inluded' wird (in deinem Fall index.htm), nicht von der die 'included' wird (in deinem Fall inc/nav.php).
Die relative Verlinkung führt in deinem Fall eh zu Problemen:
In deiner index-Datei (
http://brazil-guide.de/index.htm) führt der Link wie gewünscht zu
http://brazil-guide.de/index.htm. Wenn du die nav-Datei allerdings z.B. auch in
http://brazil-guide.de/Formel1/Melbourne-Info.htm einfügst, dann ruft der Homelink folgende URL auf
http://brazil-guide.de/Formel1/inde.htm.

Daher solltest du unbedingt absolut verlinken, wenn du nicht für Unterordner extra nav-Dateien anlegen willst.
Grüße
MagMo
Verfasst: 04.01.2006 20:27
von |SONY|
hi MagMo,
Die relative Verlinkung geht von der Datei aus in die 'inluded' wird (in deinem Fall index.htm), nicht von der die 'included' wird (in deinem Fall inc/nav.php).
OK habe die --<?php include('inc/nav.php'); ?>-- in meine index.htm eingefügt
und diese aus der inc/nav.php entfernt
--<?php
include('inc/nav.php');
?>--
sehe ich das jetzt richtig das ich die --<?php include('inc/nav.php'); ?>-- einfach nur in jedem untermenu = seite als --<?php include('inc/nav.php'); ?>-- einfügen muss ?
und wenn ich dann diese nav.php einmalig bearbeite diese dann auf allen anderen seiten angepasst wird !?
habe wegen php eine datenbank bei 1&1 eingerichtet, muss ich da noch was hochladen oder geht das automatisch ?
besten dank
sony
Verfasst: 04.01.2006 20:32
von AmShaegar
eine datenbank benötigst du nicht unbedingt für php.. eine mysqldatenbank ist dazu da, daten ohne dateien abzuspeichern..

Verfasst: 04.01.2006 20:40
von |SONY|
mmhh aber warum auch immer habe ich mir bei 1&1 eine datenbank eingerichtet wegen php und so und dachte da muss ich irgendwas hochladen.
aber wenn dem nicht so ist auch gut.
vielen dank
sony