Seite 1 von 1

[solved] fehler in common.php nach update -> .12

Verfasst: 22.02.2005 21:56
von rabbit

Code: Alles auswählen

#
#-----[ FIND ]---------------------------------------------
# Line 92
	unset($input['input']);
	
	while (list($var,) = @each($input))
	{
		unset($$var);
	}

#
#-----[ REPLACE WITH ]---------------------------------------------
# 
	unset($input['input']);
	unset($input['not_unset']);

	while (list($var,) = @each($input))
	{
		if (!in_array($var, $not_unset))
		{
			unset($$var);
		}
	}
wenn ich das mache, bekomme ich:
Parse error: parse error, unexpected '}' in /www/htdocs/v110777/common.php on line 106
nehme ich die klammer raus, läuft es:

Code: Alles auswählen

	// Merge all into one extremely huge array; unset
	// this later
	$input = array_merge($HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS, $HTTP_SESSION_VARS, $HTTP_ENV_VARS, $HTTP_POST_FILES);

	unset($input['input']);
	unset($input['not_unset']);

	while (list($var,) = @each($input))
	{
		if (!in_array($var, $not_unset))
		{
			unset($$var);
		}
	}
   
	unset($input);


//
// addslashes to vars if magic_quotes_gpc is off
// this is a security precaution to prevent someone
// trying to break out of a SQL statement.
//
habe meine common.php mit einer vanilla verglichen, die code-zeilen sind identisch, kann also nicht an einem verbauten MOD liegen. da ich mich exakt an die anweisungen von acid burn gehalten habe, wundere ich mich, dass sonst niemand den fehler hat... :roll:

Verfasst: 22.02.2005 22:11
von roger
Also, nach dem

Code: Alles auswählen

unset($input);
muss die } stehen...
Such 'mal nach oben, ob nicht doch eine { fehlt...


roger

Verfasst: 22.02.2005 22:17
von rabbit
ich hab' nochmal alles durchgeguckt, es fehlt aber keine öffnende klammer. deshalb wundert mich das ja, da es in einer frischen (relativ frisch, aus dem 2.0.11) common.php genauso aussieht. :-?

hier mal meine common.php (in der version ohne klammer)

Verfasst: 23.02.2005 00:31
von Leuchte
Bei dir sieht der Code in Zeile 79/80 so aus

Code: Alles auswählen

}
	$not_unset = array('HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_SERVER_VARS', 'HTTP_SESSION_VARS', 'HTTP_ENV_VARS', 'HTTP_POST_FILES', 'phpEx', 'phpbb_root_path');
Sollte aber so aussehen

Code: Alles auswählen

} 
else if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on') 
{ 
   // PHP4+ path
	 $not_unset = array('HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_SERVER_VARS', 'HTTP_SESSION_VARS', 'HTTP_ENV_VARS', 'HTTP_POST_FILES', 'phpEx', 'phpbb_root_path');
Dann muss die Klammer in Zeile 106 wieder hin, damit das else if abgeschlossen ist.

Verfasst: 23.02.2005 06:59
von rabbit
getestet und für gut befunden.
danke, leuchte! :)