404 Error Page erstellen

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Tobias21

404 Error Page erstellen

Beitrag von Tobias21 »

Hallo,

ich wollte auf meiner HP eine 404 Error Seite erstellen. Sie soll den selben Stil wie das restliche Forum haben.

Was ich gemacht habe:

htaccess modifiziert:

Code: Alles auswählen

ErrorDocument 404 /error/error_404.php
error_404.php Datei erstellt:

Code: Alles auswählen

    <?php
    define('IN_PHPBB', true);
    define('ROOT_PATH', './../');
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include(ROOT_PATH . 'common.' . $phpEx);


    page_header('404 Error - Not Found', false);

    $template->set_filenames(array(
        'body' => 'styles/Android/template/error/404_error.html'
    ));

    page_footer(false);

    ?>
error_404.html Datei erstellt:

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->

<ul class="linklist navlinks">
    <li><a href="{U_HOME}">Home</a></li>
</ul>

<div id="main">
    <h2 class="imgrep error404">Error 404: Not Found</h2>
    <h3>The Page you have requested was destroyed.</h3>
    <p>We&rsquo;re sorry, but the page you have requested was not found.</p>
    
</div>

<!-- INCLUDE overall_footer.html -->  

Das ist mein Forum: http://tobias.hilbig-ffb.de/
Da ist der 404 Error: http://tobias.hilbig-ffb.de/error/error_404.php


Und das ist der Fehler:

Code: Alles auswählen

Warning: Cannot modify header information - headers already sent by (output started at /home/web327/hart99/ftproot/tobias.hilbig-ffb.de/error/error_404.php:1) in /home/web327/hart99/ftproot/tobias.hilbig-ffb.de/common.php on line 58

Hab jetzt schon mehrere Tuts durchgeleses, aber es klapptr einfach nicht... Was ist falsch?
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: 404 Error Page erstellen

Beitrag von Mahony »

Hallo
Siehe dazu KB:headers_already_sent

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Tobias21

Re: 404 Error Page erstellen

Beitrag von Tobias21 »

So danke für die superschnellen Antworten, der letzte link ist ja schön und gut, aber ich will hald noch mehr seiten erstellen(nicht nur 404/Error), deshalb hilft der nicht wirklich...
Die Ursache dieses Fehlers liegt darin, daß versucht wird, die Header-Informationen zu bearbeiten, nachdem bereits normale Ausgabe erfolgt ist. Diese Header-Informationen können z.B. Cookies, Weiterleitungen oder Cache-Unterdrückungen sein. Die HTML-Ausgabe muss nicht immer gewollt sein, selbst sogenannter Whitespace (leere Zeilen, Tabulatoren, Leerzeichen) kann die Ursache sein.

Glücklicherweise liefert diese Fehlermeldung bereits alle Informationen, die zum Auffinden des Fehlerhaften Codes nötig sind, mit:

Datei mit Header-Informationen: In dieser Datei befindet sich der Code zum Modifizieren der Header-Informationen (in dieser Zeile). In der Regel handelt es sich dabei um header() oder setcookie() Befehle.
Datei mit HTML-Ausgabe: In dieser Datei befindet sich die HTML-Ausgabe (in dieser Zeile ). Falls dies die letzte Zeile in der Datei ist, befindet sich dort entweder eine ungewollte Leerzeile hinter '?>' (einfach löschen) oder die Datei wurde im falschen Modus hochgeladen (siehe Binär != ASCII Was man bei dem Upload des Forums beachten sollte). Andernfalls solltest du den Code von dieser Stelle hinter die letzte header() oder setcookie() Anweisung verschieben.


setcookie() rufe ich nicht auf,
HTML ist nicht in der Datei,
Leerzeichen hinter ?> ist keines,
Datei wurde im ASCI Modus upgeloadet,
header() wurde nicht aufgerufen, aber

Code: Alles auswählen

page_header('404 Error - Not Found', false);
vor diesem Befehl wurden nur

Code: Alles auswählen

    define('IN_PHPBB', true);
    define('ROOT_PATH', './../');
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include(ROOT_PATH . 'common.' . $phpEx);
1 Variable definiert und define('IN_PHPBB', true);, und die common Datei includet...

Also dass kanns nicht sein...

Und der Error sagt in Zeile 1?! Da steht nur "<?php"
Charlie_M
Mitglied
Beiträge: 1210
Registriert: 17.07.2008 13:09
Kontaktdaten:

Re: 404 Error Page erstellen

Beitrag von Charlie_M »

Wir haben den Mod für die Errors 400-405 sowie 500.
Kann man total einfach erweitern und entsprechend eine Meldung ausgeben.
Viel. habe ich den Einsatzzweck bei dir falsch Verstanden :oops:
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: 404 Error Page erstellen

Beitrag von Elsensee »

Und vor dem <?php sind (zumindest in der Code-Box hier im Forum) vier Whitespaces (Leerzeichen) bzw. ein Tab und das wird bereits als Ausgabe gezählt. Steht auch auf der Seite. :wink:
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
Tobias21

Re: 404 Error Page erstellen

Beitrag von Tobias21 »

Ok den Mod hab ich runtergeladen, er löst das Problem mit den Error Pages, aber ich will einfach weitere Seiten zum Forum hinzufügen können(Seite für den Status meines Minecraft Servers, Serverkarte per iFrame einbinden usw) und deswegen einfach wissen warum es nicht geht. Die 4 Leerzeichen habe ich gelöscht, selber error...

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
define('ROOT_PATH', './../');
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include(ROOT_PATH . 'common.' . $phpEx);
// since we?re only using one language (en), I?ll just hardcode this...
// void page_header ([ $page_title = ''], [ $display_online_list = true])
page_header('404 Error - Not Found', false);
// this template file will be located in the custom templates directory
$template->set_filenames(array(
        'body' => 'styles/Android/template/error/404_error.html'
        ));
page_footer(false);

?>
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: 404 Error Page erstellen

Beitrag von Mahony »

Hallo
Lies mal die Fehlermeldung: error_404.php:1 - da befindet sich noch ein Zeichen am Anfang der Datei (vor <?php ).


Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Tobias21

Re: 404 Error Page erstellen

Beitrag von Tobias21 »

Aaalso ich hab den Mod erfolgreich installiert: http://tobias.hilbig-ffb.de/seitediesnichtgibt

Ich probiere jetzt eigene Seiten auf basis des Mods zu erstellen.

Danke für die Hilfe!

Soo noch eine Frage, die Error.php Datei ruft "trigger_error('xyz')" auf, wo ist die Funktion definiert?
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: 404 Error Page erstellen

Beitrag von Elsensee »

trigger_error() ist in php selbst definiert. Siehe: http://de.php.net/manual/de/function.trigger-error.php :)

Auf deine nächste Frage, die vermutlich "Aber warum wird denn eine phpBB-Seite angezeigt?" heißen mag:
Es wurde die Funktion "set_error_handler()" benutzt. (In der common.php)

Code: Alles auswählen

// Set PHP error handler to ours
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler'); 
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“