[Update Final Release V1.3] Eigene Errorpage einbinden

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

[Update Final Release V1.3] Eigene Errorpage einbinden

Beitrag von MADxHAWK »

Hi,

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 &uuml;bermitteln sind.<br>
        <br>
        Sofern Sie f&uuml;r den Zugriff berechtigt sind, &uuml;berpr&uuml;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&ouml;glich.<br>
        Entweder ist kein Index-Dokument vorhanden oder das Verzeichnis ist zugriffsgesch&uuml;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 &uuml;ber den Fehler.<br>
        <br>
        Sofern Sie die URL manuell eingegeben haben,
        &uuml;berpr&uuml;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 &uuml;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;


?>
nun würde ich aber gerne den page header und den page tail des Orion mit einbinden so das die errorseite aussieht als wenn sie vom Orion stammt.

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 &uuml;bermitteln sind.<br>
        <br>
        Sofern Sie f&uuml;r den Zugriff berechtigt sind, &uuml;berpr&uuml;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&ouml;glich.<br>
        Entweder ist kein Index-Dokument vorhanden oder das Verzeichnis ist zugriffsgesch&uuml;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 &uuml;ber den Fehler.<br>
        <br>
        Sofern Sie die URL manuell eingegeben haben,
        &uuml;berpr&uuml;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 &uuml;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);

?>
ich bekomme jedoch gleich folgende fehlermeldung
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
Zuletzt geändert von MADxHAWK am Do 18.Jan, 2007 17:37, insgesamt 6-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du musst zunächst erst eine Session erstellen lassen.
Also nach

Code: Alles auswählen

include($phpbb_root_path . 'common.'.$phpEx);
muss erst dieses rein:

Code: Alles auswählen

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag von MADxHAWK »

Heya,

Danke jetzt funktionierts ;)

ein kleines problem habe ich jedoch noch,
mein Forum liegt im verzeichniss root/msci solange ein fehler in diesem verzeichnis auftritt ist auch alles ok, wenn ich aber jetzt z.b. auf das verzeichnis root/cgi-bin zugreife ohne ein passowort anzugeben, erhalte ich zwar auch meine fehlerseite, jedoch ist diese nichtmehr formatiert ^1

in der htaccess im rootverzeichnis ist folgendes eingetragen:
ErrorDocument 403 /msci/error.php
ErrorDocument 401 /msci/error.php
ErrorDocument 500 /msci/error.php
ErrorDocument 404 /msci/error.php
gillt damit auch für alle unterverzeichnisse von root

ist es möglich das die fehlerseite in allen verzeichnissen richtig angeziegt wird ?

Greetz
MADx
Zuletzt geändert von MADxHAWK am Do 11.Jan, 2007 22:45, insgesamt 1-mal geändert.
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Also ich würde sie mir schon gerne mal anschauen genauer und ggf. einsetzen. :-)
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag von MADxHAWK »

hier mal die 1. version:

aber ist halt noch der o.g. fehler drin.

error.php ins verzeichnis deines boards kopieren und error.tpl ins verzeichnis /templates/<templatename>

noch eine weitere frage, wenn ich die Texte die die Errorseite ausgeben soll in die lang_main.php auslagern möchte, wie teile ich dem script mit in welcher lang_xxx.php die texte hinterlegt sind ?

Greetz
MADxHAWK
Zuletzt geändert von MADxHAWK am So 14.Jan, 2007 13:10, insgesamt 2-mal geändert.
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Zu den Fehler kann ich jetzt nichts genaues sagen, aber mit Lang, nun wenn das in der lang_main.php gemacht wird brauchst da nichts weiter zu tun, also habe den text von der Biographie (auf meiner HP) in die lang_main.php und habe dem script auch nicht weiter mitgeteilt, hätte ich jetzt lang_bio.php genommen in deinem fall lang_error.php muss die einfach noch includiert werden in dem script.

in der Form:

Code: Alles auswählen

include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_error.' . $phpEx);
wenn mich nicht alles täuscht.

P.S. Danke für den Anhang werde ich die tagen mal ausprobieren. :)
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag von MADxHAWK »

@oxpus ¢¦ please,

ich gehe mal davon aus das der fehler auftritt da die variable $root_path den wert './' enthält. wenn ich da nun den absoluten pfad eingebe, z.B. http://www.wasauchimmer/folder/ funktioniert es noch immer nicht da in der page_header.php die variable root_path nicht vor die links und verweise gesetzt ist. wenn ich dies nun mache, würde es dann funktionieren ? oder funktioniert dann die page_header.php im board nichtmehr ?


@Christian,
keine Ursache arbeite weiter daran, vieleicht kann man ja einen mod daraus machen ;)

Gruss
MADx
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Gib in der .htaccess den kompletten Pfad (von der Domain ausgehend, nicht den physischen!) zur error.php an. Das sollte helfen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag von MADxHAWK »

Hi oxpus,

ok dann wird mir die errorpage in allen verzeichnissen korrekt angezeigt, allerdings habe ich nun das problem das die fehlermeldung selber nichtmehr angezeigt wird also z.b. Error 404 die seite wurde nicht gefunden.

so sollte sie aussehen:
http://www.madxhawk.com/msci/x

so sieht sie aus wenn ich deinen vorschlag umsetzte
http://www.madxhawk.com/msci/error.php

und so sieht sie in einem aderen verzeichniss aus :(
http://www.madxhawk.com/msci/templates/x

Greetz
MADx
Zuletzt geändert von MADxHAWK am Sa 13.Jan, 2007 00:08, insgesamt 1-mal geändert.
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Hab sie mir mal angeschaut, ist ja richtig Informationsreich, wenn das mit dem Fehler behoben ist und auch das des ganze mit $lang['...'], dann läuft werde ich diese auf jedenfalls benutzen, die Installation wenn es dann als MOD raus bringst dürfte ja nicht schwer sein die Einträge in der .htaccess und wenn dann es sogar mit lang_error.php gemacht hast, einfach nur die 3 Dateien im richtige Verzeichnis hochladen.
Wäre also richtig leicht dann und hättest ein gute MOD raus gebracht :)
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also:
Die error.php sollte mitbekommen, welcher Fehler es ist, dann kann man im Beispiel 2 auch diesen Anzeigen.
Dazu müssten entsprechende Parameter mit angegeben werden, wie z. B. error.php?error=404.

Das Problem ist nur, daß die Methode, wie die error.php die Fehlervodes abfragt, nicht zuverlässig genug ist, auch immer 100 % genau zu funktionieren.
Daher wäre es eigentlich besser, Du würdest html-Dateien erstellen, die die einzelnen Fehlercodes beschreiben.
Oder HTML-Files, die ein Redirect auf eine PHP-Fehlerseite beinhalten und diese Zeigen im Forum-Style die Fehler an.
Die error.php ist jedenfalls hier nur für das Forum geeignet, vermutlich, weil der Autor auch nicht weiter gedacht hat...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag von MADxHAWK »

OK, hier mal die betaversion ;)

zu bewundern unter

http://www.madxhawk.com/woauchimmer/wasauchimmer.html <-- gibt ne fehlermeldung ^a

Leider ist es mir nicht gelungen diesen verdammten IE dazu zu bewegen die Fehlerseite standartmässig anzuzeigen, da im IE7 die Option "Kurze HTTP-Fehler anzeigen" Standard ist. schaltet man diese ab wird die Seite auch im IE angezeigt. :wall: das hat mich einige std. Arbeit gekostet bis ich dahinter gekommen bin dachte immer ich hätte nen fehler in meinem Script *hmpf* bis ich es mal mit FF versucht habe.

@oxpus vieleicht kennst du einen Trick für einen Override dieser Einstellung des IE

Hier aber nun der Mod :D

PS der Internetexplorer lässt mich jetzt nichtmehr auf deine Seite :x:
Zuletzt geändert von MADxHAWK am So 14.Jan, 2007 13:11, insgesamt 4-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Fein. Ein Error-MOD mit phpBB-Formatierung.
:respect:

BTW:
Ich kann selbst mit dieser Einstellung meine Seite aufrufen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Giga4000
Beiträge: 181
Registriert: Sa 26.Nov, 2005 09:19
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Giga4000 »

Wenn du noch was kleines hinzufügen willst, dann kannst du den Error-Code ja auch noch in eine Log-Datei schreiben:

Code: Alles auswählen

<?php
  $useragent = (isset($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) ? $HTTP_SERVER_VARS['HTTP_USER_AGENT'] : 'Unbekannt';
  $request_uri = (isset($HTTP_SERVER_VARS['REQUEST_URI'])) ? $HTTP_SERVER_VARS['REQUEST_URI'] : 'Unbekannt';
  $message = '
***************************************************************************
URL:        ' . $request_uri . '
IP Address: ' . $client_ip . '
Browser:    ' . $useragent . '
***************************************************************************
  ';

  $file = fopen('datei.txt', 'a');
  fwrite($file, $message);
  fclose($file);
?>
Wenn du den Code jetzt noch etwas abänderst, dann kann man noch die Art des Errors sowie die Zeit hinzufügen ;)
Zuletzt geändert von Giga4000 am Sa 13.Jan, 2007 10:49, insgesamt 1-mal geändert.
Site: www.mx-forums.de - New!
phpBB MODs: Click Here
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag von MADxHAWK »

@ Giga4000,

mal sehen, das nächste woran ich mich versuchen werde ist die Fehlermeldungen in der lang_main.php unterzubringen, so hat man diese auch in in anderen sprachen zur verfügung.

@oxpus,

zuersteinmal vielen dank für die hilfe, bin noch absoluter anfänger was php betrifft, komme aber solangsam auf den geschmack :D
Vieleicht kannst du mir ja noch einen tip geben wie die lang_main includiert wird, normal mache ich ja learning by doing, indem ich versuche mir ein script zu zerlegen, aber ich habe bisher noch nirgends einen includ der lang_main gefunden :( .

was den IE betrifft, könnte ich Bill den kopf abreissen, ich habe 6 std. nach nem fehler in meinem script gesucht dabei wars der :x: IE, welcher mich jetzt nichtmehr auf deine seite lässt, bekomm immer die meldung "FORBIDDEN you do not have access bla bla". vieleicht hilf ja ein neustart des rechners.

So jetzt werd ich erstmal ein 2-3 std. schlafen nachdem ich mir die nacht um die ohren gehaen habe dank Bill aus redmont
^1

Greetz
MADx
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

die lang_main.php ist in includes/functions.php includiert.

aber wie ich schon gesagt habe in Beitrag #6 braust die lang nur zu include wenn die sache nicht in lang_main.php schreibst, legst also eine neue an wie z.B. lang_error.php so include sie einfach in der error.php mit dem Code aus beitrag #6 - fertig
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

die lang_main.php ist in includes/functions.php includiert.
Damit also automatisch vorhanden, wenn die common.php includiert wird...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag von MADxHAWK »

Nabend,

Danke Euch werde mir das mal ansehen, die Frage ist ob es Sinn macht einen eigene lang_error.php zu machen oder nicht doch einfach die texte an die lang_main.php anzuhängen. Wobei ich denke das die fehlertexte auf jeden Fall in den language dateien abgelegt werden sollten um die kompatibilität und die multilanguage zu erhalten.

werde mich da nachher oder morgen mal dransetzten.

hab schon gesehen das in den texten der lang_main auch variablen eingesetzt werden können, z.B.

$lang['meintext']='mein text enthält die variable %s.';

jetzt werde ich mal suchen wie ich diese variable an den text übergebe ;)

Danke Euch erstmal für die hilfe, Beta 1.1 folgt dann in kürze ;)

Greetz
MADx
Benutzeravatar
Giga4000
Beiträge: 181
Registriert: Sa 26.Nov, 2005 09:19
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Giga4000 »

[quote="MADxHAWK";p="68698"]hab schon gesehen das in den texten der lang_main auch variablen eingesetzt werden können, z.B.

$lang['meintext']='mein text enthält die variable %s.';

jetzt werde ich mal suchen wie ich diese variable an den text übergebe ;)[/quote]

Schau mal in die Knowledge Base: Ein neuer Text im Forum erstellen ;)
Site: www.mx-forums.de - New!
phpBB MODs: Click Here
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also bei wenigen Texten ist es nicht unbedingt sinnvoll, eine eigene Lang-Datei zu erstellen.
Wenn Du daber ganze Seiten damit beschreiben willst, schon eher, da diese Texte ja schliesslich im Forum sonst nirgends gebraucht und damit unnötig initialisiert würden...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Kann mich nur Oxpus. anschlissen habe auch für die Biographie keine eigene lang datei erstellt sonder in lang_main.php gesetzt da es nur eine variabel ist/war also $lang['bio_text'] = 'blabla der ganze text von der biograhie',

Naja das mit dem %s ist eigentlich ganz einfach auch zu machen habe ich auch bei der bio drin ein %s des ich formatiert habe mit dem alter von Chantal so steht jetzt 13 bei ihr und am 20.12 steht da 14. da er dieses aus der DB einlesen tun des Datum. :D
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag von MADxHAWK »

na ja, es wären über den daumen gepeilt 8 variablen , je eine für die fehlerbeschreibung und fehlermedung der Errorcodes 401, 403, 404 und 500.

denke also das ich die dann ruhig in der lang_main.php anhängen kann.

Eigentlich wollte ich nur ne errorpage im forumstyle für mein forum weil ich die standartfehlermeldungen vom format her be :x: finde. das daraus jetzt ein MOD wird hätte ich nicht gedacht, aber nun gut, vieleicht kanns ja der eine oder andere gebrauchen. Denke die Version 1.1 mit texten in der lang_main.php werde ich morgen oder am montag fertig haben ;)

@oxpus und amigalink, vieleicht könnt ihr den mod ja dann bei euch im downloadbereich aufnehmen. ;)

Greetz

MADx

Edit: OK es ist soweit he he hier nun die Final V1.2 des Errorpage MODS
- Fehlertexte in lang_main.php ausgelagert
- englische Fehlermeldungen hinzugefügt
- überflüssigen Code entfernt
- Template überarbeitet und weiter an das Orion angepasst
- funtioniert nun auch mit dem Internetexplorer

Edit: 18.01.2007
- Sicherheitsupdate

Codchanges:
=========

Code: Alles auswählen

##############################################################
## MOD Title:		Errorpage MOD
## MOD Author: MADxHAWK admin@madxhawk.com http://www.madxhawk.com
## MOD Beschreibung:	This MOD adds errorpages in forumstyle to your forum
##			available Errormessages:
##			- 401 "unauthorised"
##			- 403 "forbidden"
##			- 404 "file not found"
##			- 500 "Internernal Servererror"
## MOD Version:		1.3
##
## Installation Level:	Easy
## Installation Time:	~5 min
## Files To Edit:	1
##			errorrep.php
##
## Included Files:	3
##			root/errorpage.php
##			root/errorrep.php
##			root/templates/SubSilver/errorpage.tpl
##
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##############################################################
## Author Notes:
## -------------
##  
##
## Attention:
## ----------
## If your forum isn't installed at root you have to edit
## the path in .htaccess
##
##############################################################
## MOD History:
##
##  2007-01-18 - Version 1.3
##      - security update
##
##  2007-01-16 - Version 1.2
##      - change template to confirm Orion Style
##  	- will now work with MS Internet Explorer
##
##   2007-01-14 - Version 1.1
##      - some small bugfixes
##      - removed unnessesary code
##      - moved errormessages to lang_main.php
##
##   2007-01-13 - Version 1.0
##	- first beta release
##
##
##############################################################

#
#-----[ OPEN ]--------------------------------------------------
#

errorrep.php

#
#-----[ FIND ]--------------------------------------------------
#

$error_code=$_GET['errorcode'];

#
#-----[ BEFORE, ADD ]-------------------------------------------
#

isset($_GET['errorcode']) ? $_GET['errorcode'] : '';
isset($_GET['error_msg']) ? $_GET['error_msg'] : '';
isset($_GET['servername'])? $_GET['servername'] : '';
isset($_GET['errorurl']) ? $_GET['errorurl'] : ''; 
isset($_GET['referer']) ? $_GET['referer'] : ''; 

#
#-----[ FIND ]------------------------------------------
#

$error_code=$_GET['errorcode'];
$error_msg=stripslashes($_GET['errormsg']);
$servername=$_GET['servername'];
$error_url=$_GET['errorurl'];
$referer=$_GET['referer'];

#
#-----[REPLACE, WITH ]--------------------------------------------------
#

$error_code=htmlspecialchars($_GET['errorcode']);
$error_msg=stripslashes(htmlspecialchars($_GET['errormsg']));
$servername=htmlspecialchars($_GET['servername']);
$error_url=htmlspecialchars($_GET['errorurl']); 
$referer=htmlspecialchars($_GET['referer']);

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
# 
# EoM
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von MADxHAWK am Do 18.Jan, 2007 17:40, insgesamt 9-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

@oxpus und amigalink, vieleicht könnt ihr den mod ja dann bei euch im downloadbereich aufnehmen.
Öhm, sorry, ich nehme bei mir nur das auf, was ich auch hier installiert habe/hatte, bzw. Forensoft und Update von phpBB...
Der MOD kann ja ruhig hier angehangen bleiben, dann kann den ja auch jeder herunterladen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

[quote="oxpus";p="68719"]
@oxpus und amigalink, vieleicht könnt ihr den mod ja dann bei euch im downloadbereich aufnehmen.
Öhm, sorry, ich nehme bei mir nur das auf, was ich auch hier installiert habe/hatte...[/quote]
Sieht bei mir nicht anders aus.
Es ist aber durchaus möglich das ich den MOD bei mir einbaue, denn mit dem den ich derzeitig drin habe bin ich nicht 100%ig zufrieden. Sollte das geschehen, landet er Automatisch auch bei mir im Download. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Habs eingebaut mal zum testen in der Installations Anleitung ist allerdings ein Fehler weshalb nach der Installation eine Fehlermeldung erscheint in der lang_main.php (German) steht

Code: Alles auswählen

$lang['error_head']     = 'Leider ist bei dem Aufruf der gewünschten Seite auf<br>
                           <a href="%s">%s</a><br>
                           ein Fehler aufgetreten;
da fehlt am ende des einfache hochkomma ' sollte

Code: Alles auswählen

$lang['error_head']     = 'Leider ist bei dem Aufruf der gewünschten Seite auf<br>
                           <a href="%s">%s</a><br>
                           ein Fehler aufgetreten';
heißen... und dann noch was weiss zwar nicht wieso aber ansonste sieht man bei phpBB immer <br /> statt <br>, das weiss sicher Oxpus weshalb phpBB <br /> macht, da es aber womöglich ein grund hat? Würde ich empfehle auch alle <br> mit <br /> zu ändern.

Gruß Chris
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Antworten