Hallo,
ich versuche zur Zeit weiteren Inhalt über PHP einzufügen.
Ich inkludiere die Seite (index.php?section=start) und möchte dann über einen Link auf der Seite bei Bedarf weiteren Kontent anzeigen.
z.B.: Das normale Layout wird aufgebaut und die Seite "start.php" inkludiert. Nun ist auf dieser Seite ein Link, welcher neuen Kontent bereitstellen soll, jedoch OHNE das die bisher inkludierten Informationen verschwinden. Es soll sozusagen unten "drangehängt" werden.
Mein Versuch:
Die Seite "index.php?section=start" ist aufrufbar. Die URL "index.php?section=start&content=inhalt" erledigt das, was ich mir vorgestellt habe. Erst der Inhalt der start.php und darunter wird der Inhalt der "inhalt.php" geladen, wenn der Link "&content=ínhalt" enthält.
Leider ist hier definitiv was falsch. Ich kann weitere Seiten wie "tutorials" nicht inkludieren, ohne das die "inhalt.php" mit ausgegeben wird. "index.php?section=tutorials" funktioniert nicht - "index.php?section=tutorials&content=inhalt" jedoch schon. Wiederrum ist es nicht möglich etwas zu inkludieren, was im Array nach "inhalt" beschrieben steht.
Vielleicht habt ihr auch noch andere Lösungsansätze? Ich bin in soweit für alles offen.
Ich hoffe ich habe mich soweit verständlich ausgedrückt und das Ihr mir helfen könnt.
//Nachtrag: Gehe ich richtig in der Annahme, dass das "AND" hier unter anderem das Problem ist?
Ich habe mir das nochmal angesehen und es wird nur inkludiert, wenn section UND content abgerufen werden? Ansonsten wird der "else" Teil ausgeführt, was auch erklären würde, warum die Startseite immer angezeigt wurde.
Jetzt inkludiert er zwar richtig, sucht aber grundsätzlich nach einer zweiten Datei, auch wenn nichts in der URL angegeben ist.
//Inkludiert section & content, wenn section ODER content in der URL ist?
Wie schaffe ich das hier?
Wenn (in_array($_GET['section'],$section) = TRUE dann include $_GET['section'].'.php'; - nur wenn section inkludiert wurde: schau ob in_array($_GET['content'],$content)) und wenn TRUE dann include $_GET['content'].'.php';
Ist es dabei auch möglich den "inhalt.php" include nur in Verbindung mit "tutorials.php" zu erlauben?
ich versuche zur Zeit weiteren Inhalt über PHP einzufügen.
Ich inkludiere die Seite (index.php?section=start) und möchte dann über einen Link auf der Seite bei Bedarf weiteren Kontent anzeigen.
z.B.: Das normale Layout wird aufgebaut und die Seite "start.php" inkludiert. Nun ist auf dieser Seite ein Link, welcher neuen Kontent bereitstellen soll, jedoch OHNE das die bisher inkludierten Informationen verschwinden. Es soll sozusagen unten "drangehängt" werden.
Mein Versuch:
PHP:
<?php
$section = array('start','tutorials');
$content = array('inhalt');
if (in_array($_GET['section'],$section) AND in_array($_GET['content'],$content)) {
include $_GET['section'].'.php';
include $_GET['content'].'.php';
}
else {
include $section[0].'.php';
}
?>
Die Seite "index.php?section=start" ist aufrufbar. Die URL "index.php?section=start&content=inhalt" erledigt das, was ich mir vorgestellt habe. Erst der Inhalt der start.php und darunter wird der Inhalt der "inhalt.php" geladen, wenn der Link "&content=ínhalt" enthält.
Leider ist hier definitiv was falsch. Ich kann weitere Seiten wie "tutorials" nicht inkludieren, ohne das die "inhalt.php" mit ausgegeben wird. "index.php?section=tutorials" funktioniert nicht - "index.php?section=tutorials&content=inhalt" jedoch schon. Wiederrum ist es nicht möglich etwas zu inkludieren, was im Array nach "inhalt" beschrieben steht.
Vielleicht habt ihr auch noch andere Lösungsansätze? Ich bin in soweit für alles offen.
Ich hoffe ich habe mich soweit verständlich ausgedrückt und das Ihr mir helfen könnt.
//Nachtrag: Gehe ich richtig in der Annahme, dass das "AND" hier unter anderem das Problem ist?
Ich habe mir das nochmal angesehen und es wird nur inkludiert, wenn section UND content abgerufen werden? Ansonsten wird der "else" Teil ausgeführt, was auch erklären würde, warum die Startseite immer angezeigt wurde.
PHP:
if (in_array($_GET['section'],$section) OR in_array($_GET['content'],$content)) {
include $_GET['section'].'.php';
include $_GET['content'].'.php';
Jetzt inkludiert er zwar richtig, sucht aber grundsätzlich nach einer zweiten Datei, auch wenn nichts in der URL angegeben ist.
//Inkludiert section & content, wenn section ODER content in der URL ist?
Wie schaffe ich das hier?
Wenn (in_array($_GET['section'],$section) = TRUE dann include $_GET['section'].'.php'; - nur wenn section inkludiert wurde: schau ob in_array($_GET['content'],$content)) und wenn TRUE dann include $_GET['content'].'.php';
Ist es dabei auch möglich den "inhalt.php" include nur in Verbindung mit "tutorials.php" zu erlauben?
Zuletzt bearbeitet: