Seite 1 von 3

[Erledigt] post_vars übergabe problem

Verfasst: 07.06.2007 15:30
von raphael
Guten Tag,

Mittels

Code: Alles auswählen

print_r($_POST);
erhalte ich folgende Meldung:
Array ( [t_id] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11) [t_name] => Array ( [0] => Name1 [1] => Name2 [2] => Name3 [3] => Name4 [4] => Name5 [5] => Name6 [6] => Name7 [7] => Name8 [8] => Name9 [9] => Name10 [10] => Name11) [submit] => Absenden)
Das heißt doch, dass meine Inhalte übergeben werden.
Eigentlich müsste mittels

Code: Alles auswählen

	$sql = "UPDATE " . TEST_NAMES_TABLE . " SET t_name = '$t_name[$i]' WHERE t_id = '$t_id[$i]' ";
	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Could not update name information in configuration", "", __LINE__, __FILE__, $sql);
	}
	else
	{
		$message = $lang['names_config_updated'] . "<br /><br />" . sprintf($lang['Click_return_config'], "<a href=\"" . append_sid("admin_test_names.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
		message_die(GENERAL_MESSAGE, $message);
	}
der Inhalt doch in Datenbank eingetragen werden.
Es kommt zwar keine Fehlermeldung, aber in der Datenbank tut sich nichts.

Anscheinend stehe ich auf dem Schlauch. Wo könnte mein Fehler liegen?

Verfasst: 07.06.2007 15:39
von Jan500
du hast sicher register_globals aus (was auch gut so ist)

versuch mal $_POST['t_name'][$i] bzw im phpbb2 $HTTP_POST_VARS['t_name'][$i] (wird in der common.php umgewandelt)

du solltest aber nie post/get werte ungepürft in die db eintragen lassen!

Jan

Verfasst: 07.06.2007 16:08
von raphael
Hm, ich habe beide Möglichkeiten ausprobiert. Keine von beiden brachte eine Veränderung.

Verfasst: 07.06.2007 16:15
von Pyramide
Wie sieht denn der komplette Code aus? Vielleicht liegt der Fehler ja woanders.
KB:datei

Verfasst: 07.06.2007 16:30
von raphael

Verfasst: 07.06.2007 16:53
von larsneo

Code: Alles auswählen

	$sql = "UPDATE " . CL_TEAMS_TABLE . " SET team_name = '$t_name[$i]', team_img = '$t_image[$i]', team_link = '$t_link[$i]' WHERE team_id = '$t_id[$i]' ";
wo sollen die $t_* variablen denn herkommen?

Verfasst: 07.06.2007 17:13
von raphael

Code: Alles auswählen

	$t_id = $_POST["t_id"];
	$t_name = $_POST["t_name"];
	$t_image = $_POST["t_image"];
	$t_link = $_POST["t_link"];
Hatte ich vor dem $sql-Abschnitt stehen. Zu Testzwecken habe ich es kurz weggenommen.
Liegt hier vielleicht sowieso der Fehler?
Denn mit den Zeilen ändert sich auch nichts.

Verfasst: 07.06.2007 17:32
von Miriam
Na dann gib doch mal Deine SQL Query per

Code: Alles auswählen

echo $sql;
aus.

Verfasst: 07.06.2007 17:47
von raphael
Ergebnis:
UPDATE phpbb_cl_teams SET team_name = '', team_img = '', team_link = '' WHERE team_id = ''

Verfasst: 07.06.2007 17:53
von Jan500
raphael hat geschrieben:

Code: Alles auswählen

	$t_id = $_POST["t_id"];
	$t_name = $_POST["t_name"];
	$t_image = $_POST["t_image"];
	$t_link = $_POST["t_link"];
Hatte ich vor dem $sql-Abschnitt stehen. Zu Testzwecken habe ich es kurz weggenommen.
Liegt hier vielleicht sowieso der Fehler?
Denn mit den Zeilen ändert sich auch nichts.
also entweder bin ich blind oder wo ist diese code bei dir?

geb mal die aktuelle datei mit diesem code...

wie du siehst sind die variablen leer

(auch geb ich den hinweis wieder, dass du die variablen vorher prüfen solltest, bevor sie in die db kommen)

Jan