PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Beliebe php-Datein includen aber wie?!?



SYRUS
20.02.2007, 18:56
Hallo Community,
brauche wieder ein mal hilfe. und zwar weiß ich nicht wie ich include.....

d.h. ich habe breits alles fertig (layout, navi, sogar die index.php und das newsscript sind fertig.....)

nur bekomm ich es einfach nicht hin einen include Befehl zu machen damit ich beliebe php-Datein einfach nur noch hochladen muss und fertig d.h. der style/layout passt sich gleich der beliebigen php-datei an. So ich arbeite bereits bei einer Webseite wo dies der Fall ist

Das hier ist der include Befehl wie es bei der einen Seite ist wo ich mithelfe......



<?php
if(!isset($site)) {$include = "newsyscript/shownews.php";}
$file = $site."";
if(file_exists($file)) {$include = $file;}
include($include);
?>



So ist meiner bisher.....brauche den hier legendlcih für das Newsscript und kann soweit auch nciht verändert werden



<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="/newsscript/shownews.php?show=cssonly">
</head>


<?php


chdir ("newsscript");
$show = "main";
include ("shownews.php");
chdir ("..");

?>




Also vllt. wirds klarer? Hab nämlich keine lust 50 Seiten einzeln da einzutragen, wäre bei den Beispielen nämlich so ^^ die ich gefunden hab, da oben es irgendwie geregelt wurde das es die .php gleich erkennt ohne den namen zu wissen?


MfG SYRUS

Lucleonhart
21.02.2007, 07:01
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="/newsscript/shownews.php?show=cssonly">
</head>Eine php Datei als css einbinden? hui, kenn ich garnicht. Immer mal was neues! :)



[quote=SYRUS;1719225]

<?php
chdir ("newsscript");
$show = "main";
include ("shownews.php");
chdir ("..");
?>

Also vllt. wirds klarer? Hab nämlich keine lust 50 Seiten einzeln da einzutragen, wäre bei den Beispielen nämlich so ^^ die ich gefunden hab, da oben es irgendwie geregelt wurde das es die .php gleich erkennt ohne den namen zu wissen?Gut, den letzten Satz darunter versteh ich nicht so wirklich... ^^
Warum setzt du "$show = main" und benutzt es nichtmal? Und warum wechselst du das verzeichnis.. oder so?
Egal, ich würd es so machen:


<?php
if(isset($_GET['show']) // Wenn eine Seite übergeben wurde
{
$show = $_GET['show']; // Das gefällt dem Mitaki: Variable aus GET übergabe holen
}else{
$show = "start"; // Sonst startseite einbinden
}

if(file_exists($show.".php")) // prüfen ob datei exisitiert
{
include($show.".php"); // datei einbinden
}else{
include("error.php"); // Wenn datei nicht exisitiert fehler ausgeben
}
So könntest du mit "www.deinedomain.de/seite.php?show=newsscript/shownews"
die Seite aufrufen. :)

drunken monkey
21.02.2007, 11:09
Sieht schon mal nicht schlecht aus, allerdings sind da imo zwei unterschiedlich schwere Fehler drin:

1) Das "show=newsscript/shownews" hinten sieht etwas klobig aus, besser wäre sowas wie "show=news".
2) Es erfolgt keinerlei Überprüfung, welche Datei (außer, dass sie mit ".php" endet, was immerhin schon etwas ist) includet wird, so könnte man mit einfachem Rumprobieren auch Dateien mit sensiblen Informationen includen.
Daher würde ich's eher so machen:


<?php
// Anfang wie bei Luc
if(isset($_GET['show'])
{
$show = $_GET['show'];
}else{
$show = 'start'; // Wenn keine zu parsenden Variablen
// enthalten sind, sollte man sich
// einfache Quotes angewöhnen
}
// Ab hier anders:
$includes = array ( // Array mit verfügbaren Includes
'start' => 'general/start.php',
'news' => 'newsscript/shownews.php',
// etc.pp.
'error' => 'general/error.php'
);
if (isset ($includes[$show]))
include ($includes[$show]);
else
include ($includes['error']);
?>

Aufruf der gleichen Seite wie bei Luc mit "www.deinedomain.de/seite.php?show=news".

Lucleonhart
21.02.2007, 11:34
Oha! Die Luxus Variante. :D Sehr schick!!!

mitaki
21.02.2007, 12:32
Eine php Datei als css einbinden? hui, kenn ich garnicht. Immer mal was neues!
Hat aber seine Nachteile. PHP versendet die Datei standardmäßig als text/html, weshalb die Daite unter Umständen nicht auf das Dokument angewendet wird, weil text/css pflicht ist.

Zudem, wie ich in einem anderen Thread bereits sagte, senden PHP standardmäßgi auch alles mit dem bitte-nicht-cachen-Header, weshalb dasAnzeigen einer Seite mitunter langsamer vor sich geht.

Das Problem bei der Frage des Eröffners ist vermutlich weniger das dynamische Einfügen von dateien, sondern das dynamische Anpassen der Navigation, so dass diese immer Anzeigt, welche Dateien verfügbar sind.


d.h. der style/layout passt sich gleich der beliebigen php-datei an. So ich arbeite bereits bei einer Webseite wo dies der Fall ist
Soll die Eingefügte datei lediglich das Selbe Layout teilen, oder willst du, dass beim hochladen einer neuen Datei sich die navigation auch gleich entsprechend anpasst?