PHP: Includen + GET
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anweisung
befehl
beispiel
beitrag
blabla
break
datei
design
effekt
gel
globale parameter
parameter
schreibe
skript
speicher
startseite
stecken
switch
variable
versuchen
-
Hi,
ich versuche, eine Datei zu inkludieren, allerdings mit einer GET-Variable, was leider nicht funktioniert Ohne funktionierts.
Deshalb:
Ich w?rde gerne wissen, ob ich irgendwie denselben Effekt erzielen k?nnte.
Es ist ein "selbstgebautes Template", design.php wird inkludiert, gibt zun?chst nur den Anfang aus, dann kommt das Skript und dann wird es beendet durch die Endausgabe von design.php.
K?nnte man das in ein echtes Template stecken? Wenn ja, wie sieht ein Template aus?
1. Geht includieren mit Get-Variablen?
2. Wenn nicht, wie schreibe ich ein richtiges Template?
MfG lagerhaus
//EDIT: Dieser Befehlt geht nicht: include("design.php?output=1");
Beitrag ge?ndert am 26.12.2005 12:47 von lagerhaus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
mal ne ganz einfache version:
In den content bereich:
$site = $_GET['site'] . ".php"; if(file_exists($site)) { include($site); } else { include('news.php'); } if(($_GET['site']))
Ich hoffe ich hab mich net verschrieben! ^^
Und die Links dann index.php?site=IRGENDWAS
MfG
Beitrag ge?ndert am 26.12.2005 12:50 von ct2004 -
1. Geht includieren mit Get-Variablen?
Nat?rlich. Du pr?fst die an die URL angeh?ngte(n) Variable(n) einfach mit einer switch-Anweisung. Abh?ngig vom Variablenwert wird dann die entsprechende Seite includet.
Wenn der Link also so aussieht: design.php?output=1 dann sieht die switch-Anweisung in etwa so aus:
switch ($_GET['output']) { case 1: include 'seite1.php'; break; case 2: include 'seite2.php'; break; case 3: include 'seite3.php'; break; }
Beitrag ge?ndert am 26.12.2005 12:53 von dx-rated
Beitrag ge?ndert am 26.12.2005 12:54 von dx-rated -
Dann br?uchte er aber 3 Switches, weil sonst imemr nur eine Seite ausgegeben wird un die alte verschwindet.
Aber..hmm... der umst?ndliche aber eifnache weg: in zwei verschiedene Dateien speichern udn includieren... -
ct2004 schrieb:
mal ne ganz einfache version:
In den content bereich:
$site = $_GET['site'] . '.php'; if(file_exists($site)) { include($site); } else { include('news.php'); } if(($_GET['site']))
Ich hoffe ich hab mich net verschrieben! ^^
Und die Links dann index.php?site=IRGENDWAS
MfG
Beitrag ge?ndert am 26.12.2005 12:50 von ct2004
Ich m?chte von den jeweiligen Seiten inkludieren und nicht von der Startseite die jeweiligen importieren.
NICHT Startseite greift auf Code,
sondern Code greift auf Startseite (bzw. Design) zu.
@dx-rated: Was willst du damit sagen? Ich habe in der Design.php, wo drauf zu gegriffen wird es folgenderma?en:
<?php
$output = $HTTP_GET_VARS['output'];
$start = '
ANFANG DER HTMLSEITE
';
$end = '
ENDE DER HTMLSEITE
';
switch($output){
case 0: echo "$start $end"; break;
case 1: echo "$start"; break;
case 2: echo "$end"; break;
}
?>
-> Mein Befehl include("design.php?output=1"); will nicht. Es wird nichts von design.php included.
Noch eine andere Idee?
MfG lagerhaus -
es wird nach der der atei mit dem namen gesucht, den du angibst, wenn du includierst kannst du doch einfach vorher eine Variable setzten und diese dann in der Design.php abfragen, beispiel:
site.php:
$output = 1; include("design.php");
design.php:
if($output == 1) { echo("blabla"); }elseif($output == 2) { echo("BlaBla"); }else{ echo("bla"); }
-
//EDIT: Dieser Befehlt geht nicht: include("design.php?output=1");
Nat?rlich geht das nicht.
Denn ?ber include kannst du bei PHP Dateien keine Parameter verwenden.
Nur wenn du es ?ber http://..... machen w?rdes, w?rden die Parameter beachtet werden (geht aber auf Lima nicht). Allerdings w?rde du dann die R?ckgabe des Includes einbinden.
Wenn du eine PHP-Datei includen m?chtest, musst du die Parameter weg lassen.
Sind auch nicht n?tig, da du dann Globale Parameter benutzen kannst.
Jens -
Ich habe jetzt die L?sung gefunden, es war ruehrers Idee, die ich jetzt benutzt habe. Ich hatte ?bersehen / ?berdacht, dass ich ja einfach vorher im Skript die Variablen definieren kann.
Jetzt habe ich einfach:
(news.php)
$output = 1;
include("design.php");
und am Ende mit $output = 2;
Es funktioniert. Danke!
Problem gel?st. Kann geschlossen werden.
MfG lagerhaus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage