Seite 3 von 4
Re: Error Pages Viewonline
Verfasst: 17.02.2012 00:28
von BNa
Deine error.php sollte diesen Grundaufbau haben
Code: Alles auswählen
<?php
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
// nothing
?>
oder in eine Board Datei includiert sein, sonst wird sie in session_pages nicht berücksichtigt.
Aber ich denke, das ist eh klar.
Hier kannst Du es testen
Browser 1 / Gast
http://www.4seven.de/forum/6test/viewonline.php
-----------------------------------
Browser 2 / User test
Diese Links als test aufrufen (Passwort: testuser)
http://www.4seven.de/forum/6test/error.php?mode=400
http://www.4seven.de/forum/6test/error.php?mode=401
http://www.4seven.de/forum/6test/error.php?mode=403
http://www.4seven.de/forum/6test/error.php?mode=404
http://www.4seven.de/forum/6test/error.php?mode=500
und beim Gast die Seite refreshen
Re: Error Pages Viewonline
Verfasst: 17.02.2012 15:03
von Malte
Also ich habe als error.php bisher nur die Datei im Forum Root mit dem normalen Grundaufbau:
Code: Alles auswählen
<?php
/**
*
* @package phpBB3
* @version $Id: error.php,v 1.0 2011/05/31 15:49:44 stoker Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/error');
// Get the avatar
if (!function_exists('get_user_avatar'))
{
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
}
$base_url = generate_board_url() . '/';
$ip = $_SERVER['REMOTE_ADDR'];
$hostaddress = gethostbyaddr($ip);
$browser = $_SERVER['HTTP_USER_AGENT'];
$mode = request_var('mode', '');
switch ($mode)
{
case '400':
page_header($user->lang['ERROR_TITLE400']);
$template->set_filenames(array(
'body' => 'error/400_body.html')
);
break;
case '401':
page_header($user->lang['ERROR_TITLE401']);
$template->set_filenames(array(
'body' => 'error/401_body.html')
);
break;
case '403':
page_header($user->lang['ERROR_TITLE403']);
$template->set_filenames(array(
'body' => 'error/403_body.html')
);
break;
case '404':
page_header($user->lang['ERROR_TITLE404']);
$template->set_filenames(array(
'body' => 'error/404_body.html')
);
break;
case '500':
page_header($user->lang['ERROR_TITLE500']);
$template->set_filenames(array(
'body' => 'error/500_body.html')
);
break;
}
$template->assign_vars(array(
'S_ERROR_PAGE' => true,
'U_FORUM_BASE' => $base_url,
'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
'USERNAME' => get_username_string('full', $user->data['user_id'], $user->data['username'], $user->data['user_colour']),
'USER_IP' => $ip,
'USER_HOST' => $hostaddress,
'USER_BROWSER' => $browser,
));
page_footer();
?>
Eine Includes-Datei habe ich bisher nicht, die selbigem Inhalt gleicht. Den Inhalt, den du da oben geschrieben hast, enthält die Datei jedoch schon. Das ist bereits alles oben enthalten...
Re: Error Pages Viewonline
Verfasst: 19.02.2012 01:51
von BNa
Der funktionierende Testaufbau aus meinem letzten Beitrag sieht so aus
Öffne
viewonline.php
Finde
Davor füge eine
Code: Alles auswählen
$user->lang['ERROR_VIEWONLINE_400'] = 'Is on 400 Error Page';
$user->lang['ERROR_VIEWONLINE_401'] = 'Is on 401 Error Page';
$user->lang['ERROR_VIEWONLINE_403'] = 'Is on 403 Error Page';
$user->lang['ERROR_VIEWONLINE_404'] = 'Is on 404 Error Page';
$user->lang['ERROR_VIEWONLINE_500'] = 'Is on 500 Error Page';
// Errorpages in Viewonline
if (strpos($row['session_page'], 'mode=400') !== false)
{
$location = $user->lang['ERROR_VIEWONLINE_400'];
$location_url = append_sid("{$phpbb_root_path}error.$phpEx", 'mode=400');
}
else if (strpos($row['session_page'], 'mode=401') !== false)
{
$location = $user->lang['ERROR_VIEWONLINE_401'];
$location_url = append_sid("{$phpbb_root_path}error.$phpEx", 'mode=401');
}
else if (strpos($row['session_page'], 'mode=403') !== false)
{
$location = $user->lang['ERROR_VIEWONLINE_403'];
$location_url = append_sid("{$phpbb_root_path}error.$phpEx", 'mode=403');
}
else if (strpos($row['session_page'], 'mode=404') !== false)
{
$location = $user->lang['ERROR_VIEWONLINE_404'];
$location_url = append_sid("{$phpbb_root_path}error.$phpEx", 'mode=404');
}
else if (strpos($row['session_page'], 'mode=500') !== false)
{
$location = $user->lang['ERROR_VIEWONLINE_500'];
$location_url = append_sid("{$phpbb_root_path}error.$phpEx", 'mode=500');
}
// Errorpages in Viewonline
Erstelle
error.php mit folgendem Inhalt
Code: Alles auswählen
<?php
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
// Easy Error Page 1
$mode = request_var('mode', '', true);
// Header
page_header('This is a ' . $mode . ' Error');
// Error Mode
$template->assign_var('ERROR', $mode);
// Template File
$template->set_filenames(array(
'body' => 'error.html')
);
// Footer
page_footer();
?>
Erstelle
styles/prosilver/template/error.html mit folgendem Inhalt
Code: Alles auswählen
<!-- INCLUDE overall_header.html -->
<div class="navbar" style="background-color:#F6F4D0;">
<div class="inner"><span class="corners-top"><span></span></span>
<h3 style="position:relative;top:-10px;">Error Page</h3>
<h4>This is a {ERROR} Error</h4>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- INCLUDE overall_footer.html -->
und check mal die Viewonline mit User und Gast und zwei Browsern
Re: Error Pages Viewonline
Verfasst: 19.02.2012 10:48
von Malte
Hallo,
soll ich das nur Testweise so einbauen oder soll das dann am Ende die Lösung sein? Falls es letzteres ist würde ich doch die ganze Error..php "verhunzen", da die ja bekanntlich aus fünf verschiedenen Error besteht und nicht nur aus dem einen. Die 5 Error, die ich jetzt in der Viewonline verbaue kann ich doch aber nie im Leben erreichen, weil wir nach deiner Anleitung mit der error.php doch gar keine Unterscheidung mehr zwischen den 5 Error haben?
Re: Error Pages Viewonline
Verfasst: 19.02.2012 14:52
von BNa
Malte hat geschrieben: Die 5 Error, die ich jetzt in der Viewonline verbaue kann ich doch aber nie im Leben erreichen, weil wir nach deiner Anleitung mit der error.php doch gar keine Unterscheidung mehr zwischen den 5 Error haben?
Meine Datei ist einfacher, performanter und wenn Du Code lesen könntest, würdest Du sehen, das die Datei genau dadurch so genial ist, weil sie aus den wenige Zeilen Code 5 verschiedenen Fehlerseiten generiert. Es ist eine Versuchsaufbau, um herauszufinden, ob es bei Dir funktioniert. Die paar anderen Variablen aus der Stoker php lassen sich schnell einpflegen. Es geht hier um Ursachenforschung. Und wenn Du aufmerksam wärest, hättest Du das hier wahrgenommen und gesehen, das es funktioniert.
Der funktionierende Testaufbau aus meinem letzten Beitrag sieht so aus
Und vor allem den erwähnten letzten Beitrag, wo ich genau demonstriere, das es so ist.
Es möchte Dir niemand etwas wegnehmen, es soll eine Lösung erarbeitet werden.
Re: Error Pages Viewonline
Verfasst: 19.02.2012 15:03
von Malte
Ok, dann probiere wir es.
Anscheinend ist auf meinem Server da irgend etwas eigenartiges, was unser Vorhaben blockiert.
Es gibt nämlich wieder auch beim Aufruf von 403 oder 401 Error immer ein "Is on 404 Error Page".
Re: Error Pages Viewonline
Verfasst: 19.02.2012 15:54
von BNa
Dann generiert Dein Webspace eigene custom error pages, das heisst, es müsste in deinem Web root ein Verzeichnis namens error oder ähnlich existieren. Wenn nicht kannst Du diese custom error pages warscheinlich in Deiner Webverwaltung abstellen. Hast Du Die Versuchs error.php auch mal in der folgenden Syntax aufgerufen?
http://www.deinwebspace.de/forum/error.php?mode=400, also ohne einen echten *** error zu provozieren?
Re: Error Pages Viewonline
Verfasst: 19.02.2012 15:57
von Malte
Ja, das habe ich gemacht, da zeigt er immer die korrekt Zahl je nachdem was hinter mode= steht an.
Re: Error Pages Viewonline
Verfasst: 19.02.2012 23:56
von BNa
Malte hat geschrieben:Ja, das habe ich gemacht, da zeigt er immer die korrekt Zahl je nachdem was hinter mode= steht an.
Zeigt der Originalcode von Stoker bei dieser Syntax auch das Richtige an?
Re: Error Pages Viewonline
Verfasst: 20.02.2012 12:20
von Malte
Ja, die Zahl war auch bei Stokers MOD korrekt. Ich habe langsam das Gefühl, der große Fehler liegt an meinem Server.
