PHP Includes

Hallo!

Ich will keine Frames! Deswegen - so weit bin ich schon mal - möchte ich mit php und include arbeiten.
Meine Website soll aus 5 Teilen bestehen. (Beispiel folgt).

Beim Klick auf einen Film auf der linken Seite soll sich die Filminformation im Content öffnen, genauso beim Klick auf die rechte Seite. Der Header und der Footer bleiben immer konstant.
Ich möchte also getrennte Seiten für alle Filme, für die zwei Seitenleisten, für die Navi und nur eine Hauptseite, auf der die Struktur liegt.

Die Seite(Noch komplett ohne PHP):
http://capitoljena.co.cc/test/filme/21.html

Ja, nicht alle Links funktionieren!

Vielen Dank
bassabus

Hallo bassabus,

ich glaub du hast vergessen zu beschreiben was genau dein Problem ist. Kannst du kein PHP, oder weisst du nicht wie du die Funktion benutzt? Oder weisst du nicht wie Sie funktioniert, fragst du vll. nur nach einer erklärung der Syntax? etc…

aber ich schaue einfach mal in meine Glaskugel und versuche dir deine ungestellte Frage zu beantworten.

Normalerweise läuft es so ab das du im content bereich deiner seite (bei dir wohl die mitte) eine abfrage startest auf parameter die übergeben wurden z.B. sowas:

<?php if(isset($_GET['inc']))<br />{
 $inc = $\_GET['inc'];
 switch($inc)
 {
 case 'film1':
 include 'pfad/inhaltFilm1.php';
 break;
 default:
 echo 'falscher parameter';
 break; 
 }
}else
{
 include 'pfad/home.php';
}
?\> 

Wobei deine Filmlinks ungefähr dann so aussehen müssten:

[Film1](index.php?inc=film1)

Hoffe das hilft dir irgendwie bei deinem nicht beschriebenen Problem

Danke für deine schnelle Glaskugel-Antwort :smile:

Ich kann kein PHP, aber die (vielleicht auch scheinbar) einfachheit der include-funktion (ohne extra php-dateien mit reinem php-code) hat mich angestachelt weiter in der Richtung zu forschen.

Ja, am liebsten hätte ich Code und eine einfache Erklärung dazu.
Zu deinem Code:
Was macht er genau, auf welcher Seite muss er stehen?

Danke
bassabus

Hallo bassabus,

mir scheint du möchtest dynamischen Inhalt anbieten, bei link a sollen die Informationen erscheinen bei link b sollen die Informationen erscheinen und das ohne jedesmal komplett eine neue Seite aufzurufen.

Du wirst also um Script sprachen wohl nicht herum kommen, und dich früher oder später intensiver damit beschäftigen müssen. Zum glück gibt es ja genug Tutorials z.B. für PHP.

Die PHP Funktion include ist einfach , da hast du recht, aber wie du ja vll. schon gemerkt hast ist es damit ja nicht getan. Du musst ja auch steuern ob und was die Funktion für Dateien einbinden soll.

zu meinem code:

$_GET[] ist ein Array (eine Variable die Variablen speichert … so ungefähr… ; ) in dem sind alle Parameter enthalten die über die url übergeben werden.

index.php?inc=film1 hätte zu folge das du über
echo $_GET[‚inc‘] „film1“ ausgeben bekommen würdest (mit echo gibt man Zeichenketten aus)

mit isset prüft man ob eine Variable überhaupt existiert (was bei index.php ja nicht der fall ist weil kein Parameter übergeben wird.)

switch und case sind schönere if und else verzweigungen aber das müsstest du dir selber aneignen in einem tutorial. Zum ende hin nochmal ein einfaches Beispiel:

<?php if(isset($_GET['inc'])<br />{
 // WENN EIN PARAMETER INC ÜBERGEBEN WURDE z.B: index.php?inc=film1
 $inc = $\_GET['inc'] 
 // DIE VARIABLE $inc HAT JETZT DEN SELBEN INHALT WIE $\_GET['inc']
 if($inc == 'film1')
 {
 // WENN DER INHALT "film1" IST 
 include 'film.html';
 // BINDE DIE DATEI EIN
 }
}
?\>

Den Code musst du dort einfügen wo du deinen dynamischen Inhalt haben möchtest.

Ich weise nochmal darauf hin das du natürlich einen webserver brauchst der PHP untersützt. Sollte z.B. der Code einfach so ausgeben werden wie HTML dann ist das nicht der Fall.

Hier nochmal ein Tutorial für dich falls du mehr interesse hast:
http://tut.php-quake.net/de/

Hallo!

Heisst das, dass ich für jeden Film eine solche Funktion anlegen muss?

Hallo bassabus,
nein du musst Sie nur erweitern.

<?php if(isset($_GET['inc'])
{ // WENN EIN PARAMETER INC ÜBERGEBEN WURDE z.B: index.php?inc=film1 $inc = $\_GET['inc'] // DIE VARIABLE $inc HAT JETZT DEN SELBEN INHALT WIE $\_GET['inc'] if($inc == 'film1') // FILM 1 { // WENN DER INHALT "film1" IST include 'film.html'; // BINDE DIE DATEI EIN } if($inc == 'film2') // FILM 2 { // WENN DER INHALT "film2" IST include 'film.html'; // BINDE DIE DATEI EIN } if($inc == 'film3') // FILM 3 { // WENN DER INHALT "film3" IST include 'film.html'; // BINDE DIE DATEI EIN } } ?\> oder du machst es halt mit einer switch case anweisung <?php if(isset($_GET['inc'])
{ // WENN EIN PARAMETER INC ÜBERGEBEN WURDE z.B: index.php?inc=film1 $inc = $\_GET['inc'] switch($inc) { case 'film1': include 'filme/film1.html'; break; case 'film2': include 'filme/film2.html'; break; case 'film3': include 'filme/film2.html'; break; default: echo 'Film gibt es nicht'; break; } } ?\> So jetzt habe ich aber genug für dich vorgekaut oder? Alles weitere solltest du dir wirklich per Tutorial aneignen damit du in Zukunft solche einfachen Scripte selber erweitern und verstehen kannst. Es gibt ja auch genug umsonst im Internet , wurde alles sicherlich schonmal gemacht. Viel erfolg.