Antworten auf deine Fragen:
Neues Thema erstellen

Probleme mit Include

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Meine Beispielseite ist sozusagen erst eine Spielwiese um Routine zu bekommen.
Das Ziel wird eine existierende Website sein, die 20 und mehr Links hat. Diese seite hat eine Sidebar, die auf jeder Seite gleich ist, aber regelmäßig aktualisiert werden soll. Also wird diese auch inkludiert werden müssen um es einfacher zu machen.
Alle Links sollen einfach nur inkludiert werden im Hauptteil der Seite.
 

Syphon86

Noch nicht viel geschrieben

AW: Probleme mit Include

Eine andere Möglichkeit um das wartbar zu machen wäre die Nutzung eines Arrays:

<?php

$aSites = array(
'impressum' => 'impressum.php',
)

if(in_array($_GET['site'])
{
include $aSites[$_GET['site']];
}
else
{
include 'standardseite.php'
}

?>

So muss du nur die Seiten im Array definieren und keine weiteren if-Anweisungen oder case-Anweisungen schreiben.
 
Zuletzt bearbeitet:

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Eine andere Möglichkeit um das wartbar zu machen wäre die Nutzung eines Arrays:

<?php

$aSites = array(
'impressum' => 'impressum.php',
)

if(in_array($_GET['site'])
{
include $aSites[$_GET['site']];
}
else
{
include 'standardseite.php'
}

?>

So muss du nur die Seiten im Array definieren und keine weiteren if-Anweisungen oder case-Anweisungen schreiben.

kannst du mir die Funktion des Codes erklären?
Wofür ist array?
 

Syphon86

Noch nicht viel geschrieben

AW: Probleme mit Include

Ich glaube ich kann nicht gut erklären was ein Array ist ohne dich und mich zu verwirrren, daher empfehle ich dir die Doku dafür anzuschauen:

http://www.php.net/manual/de/language.types.array.php

Dort gibts auch eine Menge Beispiele.

Der Code schaut eigentlich nur in einer Liste (Array) nach ob der Schlüssel vorhanden ist. Wenn dieser Schlüssel Vorhanden ist soll der dazugehörige Wert per Include eingebunden werden.

Dabei fällt mir grad auf das ich das was falsches hingeschrieben hab ^^

<?php

$aSites = array(
'impressum' => 'impressum.php',
)

if(!empty($aSites[$_GET['site']])
{
include $aSites[$_GET['site']];
}
else
{
include 'standardseite.php'
}

?>

So ist besser ^^
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Ich glaube ich verstehe.
Wenn der Code so aussieht:
<?php

$aSites = array(
'impressum' => 'impressum.php',
)

if(!empty($aSites[$_GET['site']])
{
include $aSites[$_GET['site']];
}
else
{
include 'standardseite.php'
}

?>

und ich

$aSites = array(
'impressum' => 'impressum.php',

um weitere Einträge erweitere, dann ist es so wie ich es brauche?
 

Syphon86

Noch nicht viel geschrieben

AW: Probleme mit Include

Genau :)

Als erstes schreibst du den Wert den du in $_GET erwartest und dann die jeweilige Datei die eingebunden wird. Du musst nur darauf achten, dass du dann "=>" nutzt und nicht das normale Gleichheitszeichen.
 

Syphon86

Noch nicht viel geschrieben

AW: Probleme mit Include

Wäre ganz praktisch wenn du nochmal deinen geänderten Code posten würdest, damit ich das genau sehen kann :)
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

<?php

$aSites = array(
'Impressum' => 'Impressum.php',
'ueber_uns' => 'ueber_uns.php',
)

if(!empty($aSites[$_GET['site']])
{
include $aSites[$_GET['site']];
}
else
{
include 'start.php'
}
 
Zuletzt bearbeitet:

Syphon86

Noch nicht viel geschrieben

AW: Probleme mit Include

<?php

$aSites = array(
'impressum' => 'Impressum.php',
'ueber_uns' => 'ueber_uns.php',
);

if(!empty($_GET['site']) && !empty($aSites[$_GET['site']]))
{
include $aSites[$_GET['site']];
}
else
{
include 'start.php';
}

?>

Hier diesmal auch getestet ;) Was geändert wurde kannste ja allein rausfinden :)

Hab die If-Anweisung jetzt auch so angepasst, dass wenn $_GET['site'] leer ist keine Notice geworfen wird.
 

Vagant

Nicht mehr ganz neu hier

AW: Probleme mit Include

Hallo, mal eine kleine Rückinfo von mir:

Dieser Include klappt einwandfrei bei mir.
Vielen Dank dafür.
Nun habe ich noch eine Frage zur Verfeinerung:
Wenn ich jetzt im Menü (mit diesem Code) die aktuelle Seite angezeigt haben möchte, wie funktioniert das?
 

Syphon86

Noch nicht viel geschrieben

AW: Probleme mit Include

Du könntest die aktuelle Seite noch in einer Variablen speichern und diese dann ausgeben lassen oder den Menüpunkt damit hervorheben lassen je nachdem was du willst.

Code:
<?php
$aSites = array(
    'impressum' => 'Impressum.php',
    'ueber_uns' => 'ueber_uns.php',
);

$site = $_GET['site'];

if(!empty($site) && !empty($aSites[$site]))
{
    $current = array_search($site, $aSites);
    include breadcrumb.php;

    include $aSites[$site];
}
else
{
    include 'start.php';
}

?>
Achtung Beispiel ist nicht getestet ;)

Im Beispiel wird der key der aktuellen Seite in einer Variablen gespeicher, danach wird die breadcrumb.php eingebunden. In der breadcrumb.php könnte man jetzt über dem eigentlichen Content die aktuelle Seite anzeigen lassen, indem man den Key nutzt. Man könnte das Array auch dahin erweitern, dass es auch weitere Information zur Seite bereit hält, z.B. Titel o.ä.

Wenn du deinen aktuellen Quelltext postet kann ich die besser weiterhelfen.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben