Section includen

putzi

Gesperrt
Hallo!
Ich bastle gerade an meine Homepage, und bin auf ein Problem gestoßen:

Aufbau:

index.php:
included mittel diesem Script die entsprechende Datei:
PHP:
<?php
if(isset($_GET['id']) 
&& preg_match('%^[a-z0-9_-]+$%i',$_GET['id']) && 
file_exists('./'.$_GET['id'].'.php')) {
include('./'.$_GET['id'].'.php');
} else {
include('./home.php');
}
     ?>

hier:
index.php?id=veranstaltung

bei dieser URL möchte ich noch dranhängen:
index.php?open=veranstaltung&section=0001

also, die datei veranstaltung.php soll includen: veranstaltung/0001.php
und wenn diese nicht vorhanden, ist: photos.php

also brauche ich in der veranstatung.php ein script, welches mit diese datei (z.B. 0001.php) included. Je nachdem was in section=xxxx eingegeben wurde!

Ich hoffe das ihr mein Problem versteht, und mir helfen könnt.

lg

Danke!
 
hi

also verstehe ich das richtig... wenn die index.php mit der id=bla aufgerufen wird, soll in der index.php eine "bla.php" fia include geladen werden? sobald section=XXXX noch dran hängt, soll dann in der "bla.php" dann noch eine datei fia include die xxxx.php laden?

an deiner stelle würde ich nicht so viel mit den includes arbeiten... verschachtel dich da bloß nicht!

gruß
 
naja, es würde so lauten: index.php?id=veranstaltung&section=0001

dann wird die datei (veranstaltung/0001.php) includedt!

muss ich da das script in der index.php datei einfügen oder schon unter veranstaltung.php?
 
ah... okay... also mein vorschlag ist so

PHP:
<?php

if( !empty( $_GET[ id ] ) && empty( $_GET[ section ] ) )
{
 if( !file_exists( $_GET[ id ] .'.php' ) )
 die( 'konnte nicht geladen werden');
 include( $_GET[ id ] .'.php' );
}
elseif( !empty( $_GET[ id ] ) && !empty( $_GET[ section ] ) )
{
 if( !file_exists( $_GET[ id ] .'/'. $_GET[ section ] .'.php'  ) )
 die( 'konnte nicht geladen werden');
 include(  $_GET[ id ] .'/'. $_GET[ section ] .'.php' );
}
else
{
die( 'es triff nix zu' );
}

?>

ich hoffe, ich hab dich jetzt richtig verstanden ;)
 
Du solltest nicht vergessen, die Zeichenketten explizit als solche auszuzeichnen. Der PHP-Interpreter ist zwar (leider) so entgegenkommend, dass dein Vorschlag zusammen mit einigen möglichen Fehlermeldungen funktioniert, darauf würde ich mich allerdings nicht verlassen.
 
Du solltest noch das Skript selbst ausschließen, da es sonst zu einer Endlosschleife kommen kann.
 
Zurück