hoffe ich bin jetzt nicht im falschen Forum geladet und hoffe Ihr könnt mir helfen.
Ich habe eine eigene error.php
Code: Alles auswählen
<?php
//-> template funktion
function tpl($template, $array)
{
$fp = fopen($template, "r");
$tpl = fread($fp, filesize($template));
foreach($array as $platzhalter => $code)
{
$tpl = str_replace("{".$platzhalter."}", $code, $tpl);
}
return $tpl;
}
if (!stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Apache/2")) header("HTTP/1.0 404 Not Found");
header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
settype ($GLOBALS['error'], "double");
settype ($URL, "string");
$link_url = "<a target=\"_top\" href=\"http://".$HTTP_SERVER_VARS['SERVER_NAME'] ."\">http://".$HTTP_SERVER_VARS['SERVER_NAME']."</a>";
if (stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Apache"))$URL = "http://" . $HTTP_SERVER_VARS['SERVER_NAME'] . $HTTP_SERVER_VARS['REQUEST_URI'];
if (stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Microsoft-IIS"))$URL=substr(@$HTTP_SERVER_VARS['QUERY_STRING'], strpos(@$HTTP_SERVER_VARS['QUERY_STRING'], "http://"));
$error_url = urldecode($URL);
if (stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Microsoft-IIS")) $GLOBALS['error'] = doubleval(@$HTTP_SERVER_VARS['QUERY_STRING']);
else if (!empty($HTTP_GET_VARS['error'])) $GLOBALS['error'] = doubleval($HTTP_GET_VARS['error']);
else if (empty($GLOBALS['error']) && !empty($HTTP_SERVER_VARS['REDIRECT_STATUS'])) $GLOBALS['error'] = doubleval($HTTP_SERVER_VARS['REDIRECT_STATUS']);
switch ($GLOBALS['error'])
{
case 401: $errtype="Fehlercode " . $GLOBALS['error'] . ": Nicht autorisiert";
$error_message = "Fehlermeldung: Sie habeb einen falschen Usernamen und/oder ein falsches Passwort angegeben";break;
case 403: $errtype="Fehlercode " . $GLOBALS['error'] . ": Zugriff verweigert";
$error_message = "Fehlermeldung: Zugriff auf ".$error_url." verweigert";break;
case 404: $errtype="Fehlercode " . $GLOBALS['error'] . ": Die angeforderte Seite wurde nicht gefunden";
$error_message = "Fehlermeldung: Die angeforderte Seite ".$error_url." wurde nicht gefunden";break;
case 500: $errtype="Fehlercode " . $GLOBALS['error'] . ": Interner Server-Fehler";
$error_message = "Fehlermeldung: ".$HTTP_SERVER_VARS['REDIRECT_ERROR_NOTES']."";break;
}
if (empty($errtype))
$error_type="Unbekannter Fehler";
else
if (stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Microsoft-IIS")) $GLOBALS['error'] = doubleval(@$HTTP_SERVER_VARS['QUERY_STRING']);
else if (!empty($HTTP_GET_VARS['error'])) $GLOBALS['error'] = doubleval($HTTP_GET_VARS['error']);
else if (empty($GLOBALS['error']) && !empty($HTTP_SERVER_VARS['REDIRECT_STATUS'])) $GLOBALS['error'] = doubleval($HTTP_SERVER_VARS['REDIRECT_STATUS']);
switch ($GLOBALS['error'])
{
case 401: $errmsg="Der Server konnte nicht verifizieren, ob Sie autorisiert sind,
auf die URL " . urldecode($URL) . " zuzugreifen.<br>
<br>
Entweder wurden falsche Referenzen (z.B. ein falsches Passwort)
angegeben oder ihr Browser versteht nicht, wie die geforderten
Referenzen zu übermitteln sind.<br>
<br>
Sofern Sie für den Zugriff berechtigt sind, überprüfen
Sie bitte die eingegebene User-ID sowie das Passwort und versuchen Sie
es erneut.";break;
case 403: $errmsg="Der Zugriff auf das angeforderte Verzeichnis " . urldecode($URL) . " ist nicht möglich.<br>
Entweder ist kein Index-Dokument vorhanden oder das Verzeichnis ist zugriffsgeschützt.";break;
case 404: $errmsg="Der Link auf der verweisenden Seite " ."<a target=\"_top\" href=" . $_SERVER['HTTP_REFERER'].">" . $_SERVER['HTTP_REFERER'] . "</a>" . "
scheint falsch oder nicht mehr aktuell zu sein.<br>
Bitte informieren Sie den Autor dieser Seite über den Fehler.<br>
<br>
Sofern Sie die URL manuell eingegeben haben,
überprüfen Sie bitte die Schreibweise und versuchen Sie es erneut.";break;
case 500: $errmsg="Die Anfrage kann nicht beantwortet werden, da auf dem Server ein interner Fehler aufgetreten ist.<br>
<br>
Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten.";break;
}
$error_description = $errmsg;
$error_date = date("l d. F Y H:i:s");
$server_data = $HTTP_SERVER_VARS['SERVER_SOFTWARE'];
$php_version = "PHP Version: " . phpversion();
$array = array(
"LINK_URL" => $link_url,
"ERROR_URL" => $error_url,
"PAGE_TITLE" => $error_type,
"ERROR_TYPE" => $errtype,
"ERROR_MSG" => $error_message,
"ERROR_DESC" => $errmsg,
"ERROR_DATE" => $error_date,
"SERVER" => $server_data,
"PHP_VERS" => $php_version,
);
$ausgabe = tpl("error.tpl", $array);
echo $ausgabe;
?>
habe es mal versucht indem ich mir einige php Dateien angeschaut habe und die entsprechenden Zeilen in mein Code eingefügt habe
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'error.tpl')
);
if (!stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Apache/2")) header("HTTP/1.0 404 Not Found");
header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
settype ($GLOBALS['error'], "double");
settype ($URL, "string");
$link_url = "<a target=\"_top\" href=\"http://".$HTTP_SERVER_VARS['SERVER_NAME'] ."\">http://".$HTTP_SERVER_VARS['SERVER_NAME']."</a>";
if (stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Apache"))$URL = "http://" . $HTTP_SERVER_VARS['SERVER_NAME'] . $HTTP_SERVER_VARS['REQUEST_URI'];
if (stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Microsoft-IIS"))$URL=substr(@$HTTP_SERVER_VARS['QUERY_STRING'], strpos(@$HTTP_SERVER_VARS['QUERY_STRING'], "http://"));
$error_url = urldecode($URL);
if (stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Microsoft-IIS")) $GLOBALS['error'] = doubleval(@$HTTP_SERVER_VARS['QUERY_STRING']);
else if (!empty($HTTP_GET_VARS['error'])) $GLOBALS['error'] = doubleval($HTTP_GET_VARS['error']);
else if (empty($GLOBALS['error']) && !empty($HTTP_SERVER_VARS['REDIRECT_STATUS'])) $GLOBALS['error'] = doubleval($HTTP_SERVER_VARS['REDIRECT_STATUS']);
switch ($GLOBALS['error'])
{
case 401: $errtype="Fehlercode " . $GLOBALS['error'] . ": Nicht autorisiert";
$error_message = "Fehlermeldung: Sie habeb einen falschen Usernamen und/oder ein falsches Passwort angegeben";break;
case 403: $errtype="Fehlercode " . $GLOBALS['error'] . ": Zugriff verweigert";
$error_message = "Fehlermeldung: Zugriff auf ".$error_url." verweigert";break;
case 404: $errtype="Fehlercode " . $GLOBALS['error'] . ": Die angeforderte Seite wurde nicht gefunden";
$error_message = "Fehlermeldung: Die angeforderte Seite ".$error_url." wurde nicht gefunden";break;
case 500: $errtype="Fehlercode " . $GLOBALS['error'] . ": Interner Server-Fehler";
$error_message = "Fehlermeldung: ".$HTTP_SERVER_VARS['REDIRECT_ERROR_NOTES']."";break;
}
if (empty($errtype))
$error_type="Unbekannter Fehler";
else
if (stristr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], "Microsoft-IIS")) $GLOBALS['error'] = doubleval(@$HTTP_SERVER_VARS['QUERY_STRING']);
else if (!empty($HTTP_GET_VARS['error'])) $GLOBALS['error'] = doubleval($HTTP_GET_VARS['error']);
else if (empty($GLOBALS['error']) && !empty($HTTP_SERVER_VARS['REDIRECT_STATUS'])) $GLOBALS['error'] = doubleval($HTTP_SERVER_VARS['REDIRECT_STATUS']);
switch ($GLOBALS['error'])
{
case 401: $errmsg="Der Server konnte nicht verifizieren, ob Sie autorisiert sind,
auf die URL " . urldecode($URL) . " zuzugreifen.<br>
<br>
Entweder wurden falsche Referenzen (z.B. ein falsches Passwort)
angegeben oder ihr Browser versteht nicht, wie die geforderten
Referenzen zu übermitteln sind.<br>
<br>
Sofern Sie für den Zugriff berechtigt sind, überprüfen
Sie bitte die eingegebene User-ID sowie das Passwort und versuchen Sie
es erneut.";break;
case 403: $errmsg="Der Zugriff auf das angeforderte Verzeichnis " . urldecode($URL) . " ist nicht möglich.<br>
Entweder ist kein Index-Dokument vorhanden oder das Verzeichnis ist zugriffsgeschützt.";break;
case 404: $errmsg="Der Link auf der verweisenden Seite " ."<a target=\"_top\" href=" . $_SERVER['HTTP_REFERER'].">" . $_SERVER['HTTP_REFERER'] . "</a>" . "
scheint falsch oder nicht mehr aktuell zu sein.<br>
Bitte informieren Sie den Autor dieser Seite über den Fehler.<br>
<br>
Sofern Sie die URL manuell eingegeben haben,
überprüfen Sie bitte die Schreibweise und versuchen Sie es erneut.";break;
case 500: $errmsg="Die Anfrage kann nicht beantwortet werden, da auf dem Server ein interner Fehler aufgetreten ist.<br>
<br>
Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten.";break;
}
$error_date = date("l d. F Y H:i:s");
$server_data = $HTTP_SERVER_VARS['SERVER_SOFTWARE'];
$php_version = "PHP Version: " . phpversion();
$template->assign_vars(array(
"LINK_URL" => $link_url,
"ERROR_URL" => $error_url,
"PAGE_TITLE" => $error_type,
"ERROR_TYPE" => $errtype,
"ERROR_MSG" => $error_message,
"ERROR_DESC" => $errmsg,
"ERROR_DATE" => $error_date,
"SERVER" => $server_data,
"PHP_VERS" => $php_version,)
);
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Fatal error: Call to a member function on a non-object in G:\htdocs\includes\page_header.php on line 85
Warum erzeugt mir die page_header wenn ich sie in mein script include einen fehler ?
Wie kann ich das realisieren das page header und tail eingebunden werden ?
Greetz
MADxHAWK