Variablen nur mehr einstellig?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Variablen nur mehr einstellig?

Beitrag von Gumfuzi »

Hallo!

kann es sein, daß seit dem Update auf 2.0.19 oder das Update des CrackerTracker auf 4.0.2 folgende Variable beim Auslesen nur mehr den Wert "5" hat (also einstellig):

Code: Alles auswählen

$user['1'] = "52";
Bei der DB-Anfrage wird dann die ID 5 abgefragt und nicht die ID 52:

Code: Alles auswählen

$sql = 'SELECT * from ' . USERS_TABLE . ' WHERE user_id = ' . $user[$c];
Woran kann das liegen?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Sorry, meine Glaskugel schläft schon - wie wärs mit etwas mehr Code?
KB:knigge
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Sorry, natürlich, hier der ganze Code:

Code: Alles auswählen

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 

$page_title = 'Ehrenmitglieder'; 
include($phpbb_root_path . 'includes/page_header.'.$phpEx); 

$template->set_filenames(array('body' => 'hof.tpl'));

$anz = 3;
$user['1'] = "52";
$user['2'] = "2";
$user['3'] = "192";

$besch['1'] = "Beschreibung 1.";
$besch['2'] = "Beschreibung 2.";
$besch['3'] = "Beschreibung 3.";

$last['1'] = "Moderator";
$last['2'] = "Admin";
$last['3'] = "Admin";

$c = 1;
while ($c <= $anz )
{
	$sql = 'SELECT * from ' . USERS_TABLE . ' WHERE user_id = ' . $user[$c];
	if( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, $lang['no_user_data'], "", __LINE__, __FILE__, $sql);
	}
	while($row = $db->sql_fetchrow($result))
	{
		$template->assign_block_vars("hof", array(
			"NAME" => $row['username'],
			"ID" => $user[$c],
			"AVATAR" => $row['user_avatar'],
			"BESCH" => $besch[$c],
			"LETZTE" => $last[$c],
			"POSTS" => $row['user_posts'],
		));
	}
	$c++;
}

$template->assign_vars(array(
	'TITEL' => $page_title,
	));
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 
?>
Es geht hier um eine Dankesliste für User (Ex-Crewmitglieder). Wenn ich $user[$c] in der Schleife ausgeben lasse, dann hat diese Variable immer nur 1 Stelle zB. anstelle von "52" nur "5".
Das Skript hatte problemlos funktioniert, IMO bis ich das update auf 2.0.19 gemacht hatte bzw. das Update des CrackerTracker auf 4.0.2.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Woran kann das liegen?

Ich habe nun noch 2 Skripte (alle selbstgebastelt), die auch nicht mehr so fuzen. Die haben aber die ganze Zeit funktioniert und es wurde daran nix verändert. Es wurde nur geupdated von 2.0.18 auf 2.0.19, sowie CrackerTracker Update auf 4.1.1...

Hängt das mit dem definieren der Variablen zusammen? Kann ich die nun nicht mehr so "einfach" verwenden? Hatte da mal etwas bez. der Global-Funktion (on oder off) gelesen. Ev. da nun etwas neu - oder es liegt an der neuesten PHP-Version (4.4.2)? Wie könnte ich das testen?

Danke für eure Hinweise!!!

*edit*
Habe es gefunden, der gleiche Variablenname wird zufällig auch vom CT verwendet...
Antworten

Zurück zu „Coding & Technik“