Dateien anzeigen mit ?id=

habs geschafft:

meine index.php sieht jetzt so aus:


<?
if($id == "1") {
include("vorlage.htm");
}
if($id == "2") {
include("index.htm");
}
else {
include("http://www.web.de");
}
?>


wenn ich die index.php aufrufe, geht der link auf web.de, bei ?id=1 auf vorlage.htm, auf ?id=2 auf index.html

danke an alle die geholfen haben, durch euch bin ich erst auf die idee gekommen.
ihr werdet jetzt sagen, pff, is doch easy, aber jeder fängt als newbie an, also:

Big Thanks :)

cu
 
Du kannst das auch anderes machen:
PHP:
<?
$page_folder = "seiten/";
if (!isset($page)) $page = "home";
$input = "$page_folder$page.php";
if (!file_exists($input)) {
  echo("Die Seite gibt es nicht.");
} else {
  include("$input");
}
?>

Ich hoffe ich konnte dir helfen

Gruß
 
hm, jetzt hab ich doch nochmal was:

wenn ich ?id=1 aufrufe, also index.php?id=1, dann ruft er das, was für id=1 definiert ist auf, und hängt darunter, das was für else definiert ist...
ich bräuchte also doch nochmal eure hilfe... :D

bei index.php?id=2 passiert das nicht...
 
Ich würd das so machen
$id = $_GET["id];
switch($id)
{

case 1:
include index.php;
break;

case 2:
include forum.htm;
break;
}

Dann biste das Problem mit den anderen Seiten drunter los, und sparst noch Zeit beim schreiben ;).

Zu deinem oberen Post.
Bei ID==1 zeigt er noch 2 weil er nicht weiß das er nach 1 stoppen soll, da du aber nichts hinter 2 definiert hast, kommt dort nichts.
 
so, da bin ich wieder:


index.php:


<?
if($id == "1") {
include("vorlage.htm");
}
if($id == "2") {
include("forum.htm");
}
if($id == "") {
include("http://www.web.de");
}
?>


so geht das bisher gut.

hat jemand einwände dagegen? oder bessere lösungen?



cu
 
also 1. wenn du es mit if($id==1) 2 3 usw. machen willst würd ich mit elseif auch arbeiten!

2. geht es auch leichter finde ich.

<?
$id=$_GET['id'];

if (!$id) {
include("STANDARTSEITE");
} else {
include($id.".html");
}
?>

ok, dann müsstest du halt so verlinken.
*.php?id=infos
in diesem Fall wird die infos.html included

Edit: Man könnte es noch ein bisschen besser machen, damit keine errors auftreten.

<?
$id=$_GET['id'];
$ext=".html";

if (!$id) {
include("STANDARTSEITE");
} else {
if (!file_exists($id$ext)) {
echo "Fehler 404: Angegebene Seite konnte nicht gefunden werden!";
die();
} else {
include($id$ext);
}
}
?>
 
Zuletzt bearbeitet:
Wie gesagt ich würde es so machen:
PHP:
<?
$page_folder = "seiten/";
if (!isset($page)) $page = "home";
$input = "$page_folder$page.php";
if (!file_exists($input)) {
  echo("Die Seite gibt es nicht.");
} else {
  include("$input");
}
?>
Dann musst du nicht immer in deiner index.php Die neues Seiten hinzufügen so musst du nur eine neue Datei in den Ordner "seiten/" packen und fertig ist. Ist halt nicht so komplieziert, kannst aber auch so machen.
Wenn du es so machen willst wie du es jetzt machst Würde ich davor noch dies setzen
PHP:
<?
if (!isset($id)) $id = "1";
?>
Es ist komisch wenn man als user auf deine Seite kommt und dann auf web.de landet.

Gruß
 
Wie kann ich
PHP:
<?
if($id =='1'){
   include 'seite1.php';     //index.php?id=1
}

if($id =='2'){
    include 'seite2.php';     //index.php?id=2
}
?>
so verändern, dass der Link dann in in einen anderen Frame lädt?


Oder wie kann ich es sonst noch machen?
 
Zuletzt bearbeitet:
Zurück