include und request

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
|SONY|
Mitglied
Beiträge: 39
Registriert: 15.08.2005 19:08

include und request

Beitrag 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
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
|SONY|
Mitglied
Beiträge: 39
Registriert: 15.08.2005 19:08

Beitrag 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
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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*
Zuletzt geändert von S2B am 04.01.2006 19:00, insgesamt 1-mal geändert.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
|SONY|
Mitglied
Beiträge: 39
Registriert: 15.08.2005 19:08

Beitrag 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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
include('inc/nav.php');
?>
<!-- dein Code für die Seite... -->
<li><a href="../index.htm">Home</a></li>
<li><a href="http://brazil-guide.de/Formel1/Rennkale ... nnkalender 2005</a></li>
<br />
<li><a href="#"><b class="pfeil">&raquo;&nbsp;</b>Australien-Melbourne</a>
<ul>
<li><a href="http://brazil-guide.de/Formel1/Melbourn ... en</a></li>
<li><a href="http://brazil-guide.de/Formel1/Melergeb ... is</a></li>
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
Benutzeravatar
MagMo
Ehemaliges Teammitglied
Beiträge: 584
Registriert: 30.10.2005 16:06
Wohnort: Köln
Kontaktdaten:

Beitrag von MagMo »

Hi,

und das funktioniert? :o

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:

Code: Alles auswählen

<?php 
include('inc/nav.php'); 
?>
Und statt dessen in deine index-Datei einfügen.

Und das würde ich auch entfernen:

Code: Alles auswählen

<!-- dein Code für die Seite... -->
Und der Link ist sicher auch falsch:

Code: Alles auswählen

<a href="../index.htm">Home</a>
Richtig ist sicher:

Code: Alles auswählen

<a href="./index.htm">Home</a>
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
|SONY|
Mitglied
Beiträge: 39
Registriert: 15.08.2005 19:08

Beitrag 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
c) by |SONY|:
Zitieren und Kritisieren sowie Support per PN nicht ohne ausdrückliche Erlaubnis!
AmShaegar
Mitglied
Beiträge: 408
Registriert: 09.07.2004 17:33

Beitrag von AmShaegar »

eine datenbank benötigst du nicht unbedingt für php.. eine mysqldatenbank ist dazu da, daten ohne dateien abzuspeichern.. ;-)
|SONY|
Mitglied
Beiträge: 39
Registriert: 15.08.2005 19:08

Beitrag 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
c) by |SONY|:
Zitieren und Kritisieren sowie Support per PN nicht ohne ausdrückliche Erlaubnis!
Antworten

Zurück zu „Coding & Technik“