Ashura: Inhalte laden

Beitrag lesen

Hallo AlMüller.

Wofür ist das readfile notwendig? Funktioniert doch auch mit include.
Ich kenne mich in PHP nicht gut aus.

Dann solltest du dies ändern.
Die Funktion readfile und include haben vollkommen verschiedene Auswirkungen.

Folgende Datei „foo.php“ wird jeweils mit der einen und mit der anderen Funktion eingebunden:

<?php  
  echo 'Foo Bar';  
?>

Die Ausgabe bei include lautet:

Foo Bar

Bei readfile jedoch:

<?php
echo 'Foo Bar';
?>

Lies dir einfach die Handbuchseiten zu den jeweiligen Funktionen durch.

Wie ist dei Syntax von $_get und readfile (bsp.)?

Die Variable $_get ist nicht (systemintern) deklariert. Du meinstest $_GET. Die Groß- und Kleinschreibung ist bei Variablen, Funktionen und Konstanten wichtig. In sehr vielen Sprachen.

Ich habe mal das so versucht:

<?php

function f2 ($lnk){

switch ($lnk) {
case "s1":
   include("s1.htm");
   break;
case "s2":
   include("s2.htm");
   break;
case "s3":
   include("s3.htm");
   break;

case "ld":
   include("s1.htm");
   break;
}

}

?>

  
Für den Anfang vielleicht noch ausreichend. Zumindest gehst du kein Risiko ein, in dem du alle übergebenen Werte blind weiterverarbeitest. Die richtigen Ansätze sind schon da, es fehlt nur am Verständnis der zu Grunde liegenden Techniken.  
  

> ~~~html

</head>  

> <body onLoad="f2(ld)">  
>  <p id="Fusszeile" align="center">Eine Frage der Ehre</p>

Die Fußzeile direkt am Anfang? Etwas merkwürdig.
Du kannst zudem sämtliche Styleangaben mit CSS regeln.

~~~html

<ul id="Navigation">

<li onClick="f2(s1)">S1</li>
    <li onClick="f2(s2)">S2</li>
    <li onClick="f2(s3)">S3</li>

  
Wie soll jemand, dem JS nicht zur Verfügung steht, diesen Links folgen?  
  

> Bis auf's onload hat das nicht geklappt. ich arbeite offenbar mit PHP wie mit JS. Bitte um Hilfe. Vielleicht mit $\_get? Wie?  
  
Dein Problem ist wie gesagt das Verständnis.  
Momentan wirkt es, als könntest du client- und serverseitige Techniken noch nicht voneinander unterscheiden.  
JavaScript wird (üblicherweise) vom Client interpretiert und ausgeführt.  
Der PHP-Prozessor dagegen läuft serverseitig und verarbeitet Scripte und Dateien dementsprechend auch dort.  
Die ausgegebenen Informationen / Daten lassen keine Rückschlüsse auf eine serverseitige Technik zu, wenn der Autor dies nicht absichtlich bezweckt hat.  
  
Deine PHP-Funktion wird also schon ausgeführt, noch bevor ein Dokument beim Client angekommen ist. Du musst also hier das jeweilige Dokument für die Ausgabe vorbereiten.  
Für's Erste dürfte es genügen, wenn du deine Funktion wie gehabt festlegst und sie an der jeweiligen Stelle im Dokument, wo letztendlich die jeweilige Datei eingebunden werden soll, mit den erforderlichen Parametern (hier dann wohl $\_GET) aufzurufen.  
Deine Links solltest du dementsprechend anpassen. Die einfachste Form sieht wie folgt aus:  
  
dein-script.php?seite=foo  
  
Auf den Wert von „seite“ kannst du damit über $\_GET['seite'] zugreifen.  
(Der Scriptname „dein-script“, der Parameter „seite“ und sein Wert „foo“ kannst du natürlich frei selbst festlegen. „foo“ entspricht damit deinen „s1“ bis „s3“)  
  
  
Einen schönen Donnerstag noch.  
  
Gruß, Ashura  

-- 
[The End of an Era...](http://www.nightwish.com/english/lettertotarjaen.html)