Post Hilfe

11/19/2015 20:17 Marvin.m#1
Guten Tag die Herren und Damen

Ich versuche folgendes.
Und zwar habe ich eine Seite mit verschiedenen Pages,
kontakt.php
blog.php
ect...ect

Jetzt möchte Ich das meine Links wie folgt aussehen:
index.php?page=kontakt
... ect

Was muss da in die index.php rein? Weis leider nicht mehr weiter.


Gruss Marvin
11/19/2015 21:08 ComputerBaer#2
Das könnte in der einfachsten Form ungefähr so aussehen:
Code:
if($_GET['page'] == "kontakt")
    include "kontakt.php"
Oder so:
Code:
include $_GET['page'] . ".php"
Du solltest natürlich auch den Falll beachten, dass jemand eine URL aufruft, die es nicht gibt. Wenn du von alleine auf keine dieser Lösungen oder eine ähnliche kommst, dann solltest du vielleicht deine PHP-Grundlagen noch einmal lernen.
11/20/2015 00:09 lnqlorlouz#3
Kannst ja die Sachen (blog.php, kontakt.php...) in ein Array packen. Dann checkst du ob der aufgerufene Link sprich ?page= ein Array enthält was du nicht hast. Falls es nicht im Array ist, verweist du einfach auf ne 404-Error Seite oder was weiß ich.
11/20/2015 14:20 Marvin.m#4
Danke für die Hilfe :)
Habe das ganz jetzt mal so gelöst:
Quote:
<?php
error_reporting(0);
if($_GET['page'] == null )
include 'home.php';
else
include $_GET['page'] . ".php";

$filename = $_GET['page'] . ".php";
if (file_exists($filename) == false);
echo ' Seite nicht gefunden ';

?>
11/21/2015 17:52 NotEnoughForYou#5
Quote:
Originally Posted by Marvin.m View Post
Danke für die Hilfe :)
Habe das ganz jetzt mal so gelöst:
Ganz schlechte Idee. So kann man beliebig im Dateiverzeichnis rumwandern.
11/21/2015 18:09 ~ JWonderpig ~#6
Du solltest auf jeden Fall prüfen, ob bestimmte Zeichen in der URL vorhanden sind, die nicht erlaubt sind z.B. "/", "..", usw.

Oder wie oben schon mal geschrieben, alle Möglichkeiten in ein Array schreiben und bei jedem Aufruf prüfen.
11/21/2015 20:42 ComputerBaer#7
Und die Überprüfung ob eine Datei existiert solltest du machen bevor du versuchst die Datei einzubinden. Ein PHP-Error und der Text "Seite nicht gefunden" ist zwar auch ganz nett, aber der Text würde eigentlich reichen.