error-seiten automatisch anzeigen

hiho

wie kann ich es machen, dass automatisch, wenn eine seite nicht gefunden wird, automatisch auf eine seite, z.b. error.html gelinkt wird?

z.b.:

index.php?id=1
geht der link auf test.html

index.php?id=2
geht der link auf test2.html, diese seite ist nicht vorhanden, dann soll der link automatisch auf error.html gehen.



cu
 
Frage: Wie kommst du auf das test2.html?
Du kannst mit exists überprüfen, ob die Datei
exisitert.

Bei Get-Variablen würde ich dir aber die Methode empfehlen, dass nicht einfach
ein Get-Wert includet wird, sonder dieser erst überprüft, und dann includet wird.
So hast du mehr sicherheit und kannst dir auch gleich das 404-Zeugs sparen!
 
ich benutze bisher diese script:


index.php:

<?
if($id == "1") {
include("vorlage.htm");
}
if($id == "2") {
include("forum.htm");
}
if($id == "") {
include("index.htm");
}
?>



d.h.:

wenn die index.php aufgerufen wird, wird die index.htm angezeigt, wenn ich index.php?id=1 aufrufe, wird vorlage.htm angezeigt.

ich möchte nun, dass wenn eine von diesen Seiten nicht gefunden wird, dass dann automatisch die seite error.htm angezeigt wird.

ich hoffe ihr versteht was ich meine :)

cu
 
Hi,...

für gewöhnlich reicht es, wenn du in dem betreffenden Verzeichnis eine .htaccess mit folgendem Inhalt platzierst:
Code:
ErrorDocument 404 error.html
und natürlich die error.html.
Du kannst die .htaccess + error.html auch im Basisverzeichnis platzieren, dann gilt es für alle darunterliegenden ebenfalls.


Je nach Einstellung deines Hosters reicht es manchmal auch, nur eine entsprechende Datei namens "error404.html" in das Basisverzeichnis hochzuladen.
 
das kannst du auf verschiedenen Wegen machen, z.B. so:
PHP:
<?php
$page=0;
$pages=array
(
'index.htm',
'vorlage.htm',
'forum.htm'
);

if(isset($_REQUEST)&&isset($_REQUEST['id']))
	{
	$page=$_REQUEST['id'];
	}
if(!isset($pages[$page])||!file_exists($pages[$page]))
	{
	include('error.htm');exit();
	}
include($pages[$page]);
?>
im $pages-Array die jeweiligen Seiten(die erste dabei ist die, falls $id nicht existiert).
Danach dann einfach weitere Seiten bei Bedarf in den Array einhängen, der Rest bleibt gleich.
 
Zurück