Error Reporting - undefined index / undefined variable
Verfasst: 13.09.2005 13:30
Nachdem diverse Seite extrem hohe Ladezeiten aufwiesen, habe ich mich mal ran gemacht diese genauer zur analysieren und tatsächlich sind genau diese Seiten mit "undefined index" Fehlern geschmückt, nachdem ich mit Error Reporting alle Fehler anzeigen lies.
Jetzt eine Verständnisfrage dazu.
Ein Beispiel:
Ich habe den Select Language Mod installiert. In der common.php ist folgende Zeile:
Dabei ist der index "language" aber undefiniert. Jetzt ist die Frage was ich da machen könnte. Einfach den Fehler per @ deaktivieren?
Wäre das die richtige Fehlerbehebung?
Zweites Beispiel:
Ebenfalls SLM und die common.php:
Hier verursacht die leere variable $dirname den Fehler.
Also habe ich das so angepasst:
Error Reporting aktivieren:
Wer Error Reporting aktivieren möchte kann das wie folgt machen:
common.php:
ändern in:
Jetzt eine Verständnisfrage dazu.
Ein Beispiel:
Ich habe den Select Language Mod installiert. In der common.php ist folgende Zeile:
Code: Alles auswählen
$language = ( isset($HTTP_POST_VARS['language']) ) ? $HTTP_POST_VARS['language'] : $HTTP_GET_VARS['language'];
Wäre das die richtige Fehlerbehebung?
Zweites Beispiel:
Ebenfalls SLM und die common.php:
Code: Alles auswählen
if ($language)
{
$language=trim(strip_tags($language));
$board_config['default_lang'] = $language;
setcookie($board_config['cookie_name'].'_default_lang',$language , (time()+21600), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
} else
{
if (isset($HTTP_COOKIE_VARS[$board_config['cookie_name'].'_default_lang']) )
{
$board_config['default_lang']=$HTTP_COOKIE_VARS[$board_config['cookie_name'].'_default_lang'];
} else
{
$dir = opendir($phpbb_root_path.'language');
$lang_d = array();
while (false !== ($file = readdir($dir)))
{
if ( ereg("^lang_", $file) && !is_file($dirname . "/" . $file) && !is_link($dirname . "/" . $file) )
Also habe ich das so angepasst:
Code: Alles auswählen
if ($language)
{
$language=trim(strip_tags($language));
$board_config['default_lang'] = $language;
setcookie($board_config['cookie_name'].'_default_lang',$language , (time()+21600), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
} else
{
if (isset($HTTP_COOKIE_VARS[$board_config['cookie_name'].'_default_lang']) )
{
$board_config['default_lang']=$HTTP_COOKIE_VARS[$board_config['cookie_name'].'_default_lang'];
} else
{
$dir = opendir($phpbb_root_path.'language');
$lang_d = array();
$dirname= "language";
while (false !== ($file = readdir($dir)))
{
if ( ereg("^lang_", $file) && !is_file($dirname . "/" . $file) && !is_link($dirname . "/" . $file) )
Error Reporting aktivieren:
Wer Error Reporting aktivieren möchte kann das wie folgt machen:
common.php:
Code: Alles auswählen
error_reporting (E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables
Code: Alles auswählen
error_reporting (E_ALL); // This will report all errors