If else include (hab keine ahnung)

Lifmor

Mitglied
Also.
Ausgangssituation:
auf dem webserver http://www.beispiel.de befdindet sich dei datei index.php.
-->>> http://www.beispiel.de/index.php
Die eingentlichen Seiten befinden sich in :
--->>>http://www.beispiel.de/page/
In der Datei Index.php wird dann in der Haupttabelle die home.php includet welche sich im page ordner befindet.
Also http://www.beispiel.de/page/home.php

das ganze sieht bis jetzt folgendermassen aus:
(so das wenn in de radresszeile nix steht das standartmässig die home includet wird)
<php
if ($page=="") {include("page/home.php");}
else {include ("page/".$page.".php");}
?>
und ansonsten die datei welche angegeben ist. Bsp: http://www.beispiel.de/index.php?page=news
und genau hie rkommen wir zum eigentlichen problem
eigentlich soll die datei http://www.beispiel.de/page/news/newsscript.php includet werden.

aber der folgende befehl net.( verstehe eben noch nicht so viel von PHP)
http://www.beispiel.de/index.php?page=news/newsscript

also hab ich es mit folgendem befehl probiert:
ind die news.php (http://www.beispiel.de/news.php) wurde folgendes eingefügt.
<?php
include("news/newsscript.php")
?>

ich wollte die newsscript.php ind die news.php includen und dann die news.php in die index.php laden.
Ging aber net.

Also hab ich gedacht das muss doch mit einem If else.. Befehl gehen, welchen ich vom VB kenne.
Hab dann folgendes Probiert.:

<?php
if ($page=="") {include("page/home.php");}
elseif(page=="news") {include("page/news/newsscript.php";}
else {include ("page/".$page.".php");}
?>

das sollte heissen das wenn ich http://www.beispiel.de/index.php?page=news aufrufe das die http://www.beispiel.de/page/news/newsscript.php includet wird.

da ich noch net so viel ahnung von php habe ist dort oben mit 300% sicherheit ein (eher mehrere) fehler im code.

Könnt ihr mir bitte Helfen?

Ich wäre euch Dankbar.
(Ihr dürft mich ruhig auslachen)
 
Zuletzt bearbeitet:
Hallo!

Auslachen werde ich dich nicht! :rolleyes:
Dein Script sollte eigentlich auch funktionieren!
Ich hatte zuerst die Vermutung, dass es am falschen Pfad liegen könnte (absoluter Pfad des DocumentRoot zum Beispiel).
Da du ja aber nur mit relativen Pfaden arbeitest, ist das nicht der Fall.

Wird denn die "?page=home" richtig ausgeführt - sprich, wird dann die home.php geladen?
Denn wenn nicht, solltest du statt $page einfach $_GET['page'] benutzen.
Was wohl auch noch ein Fehler sein könnte ist, dass du urlencode annwenden musst, da das "/" ein Sonderzeichen ist.

Ich würde das Ganze dann so umsetzten:

http://www.beispiel.de/index.php
PHP:
<?php
$page = urldecode((isset($_GET['page']) ? $_GET['page'] : ""));

include ($page == "" ? "home" : $page)."php";
?>

Dabei musst du den Parameter page, wenn du diesen an eine URL hängst noch mit der Funktion urlencode() umwandeln.

Beispiel:
PHP:
<?php
$pagelink = urlencode("news/newsscript");
echo "<a href='/index.php?page=$pagelink'>link</a>";
?>
 
Wunderbar!
Auf diese Weise kann dir sehr schnell geholfen werden.
Es gab' folgende Fehler:

Du hast PHP-Abschnitte so eingeleitet:

PHP:
<?inc...

Das muss natürlich so aussehen:

PHP:
<?php inc

Du hast das Leerzeichen vergessen, dadurch wurden die Zusammenhänge nicht richtig erkannt.
Außerdem hab' ich bei meinem Code ausversehen das Punkt bei .".php" vergessen.
Ich hab's jetzt mal auf meinem Server ausprobiert und es hat geklappt!
Das Script hänge ich wieder an.

PS:
Ich würde dir mal raten, die Anhänge ins ZIP-Format zu packen, da nicht jeder WinRAR hat!
 

Anhänge

:mad:
Ich hab' noch was vergessen gehabt!
Ich hab' das Verzeichnis "page/" nicht mit angegeben.
Das neue Script hänge ich an!

Ich geb' jetzt auch mal mit echo den Pfad aus, der included wird!
Falls der nicht stimmen sollte, bearbeteite doch einfach den Include so, dass er stimmt!
 

Anhänge

Hab die Datei Raufgeladen. Und der Code sollte jetzt eigentlich stimmen.
Aber es geht immer noch net.
http://www.hanneth-paur.net

Nochmals der Code hier. So wie er jetzt ist.

PHP:
<?php 
$page = urldecode((isset($_GET['page']) ? $_GET['page'] : "")); 
$p = "page/".($page == "" ? "home" : $page).".php";
echo $p;
include $p;
?>


<?php 
$pagelink = urlencode("news/newsscript"); 
echo "<a href='/index.php?page=$pagelink'>link</a>"; 
?>
¨

Das Ziel ist ja die http://www.hanneth-paur.net/page/news/newsscript.php zu includen.
 

Anhänge

Zurück