request_var vs. $_POST

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Jimmy90
Mitglied
Beiträge: 26
Registriert: 03.03.2008 23:37

request_var vs. $_POST

Beitrag von Jimmy90 »

Folgendes:
Im UCP habe ich ein eigenes Formular eingebaut, dessen übergebene Werte in eine eigene Tabelle eingetragen werden.
Zuerst habe ich die Spalten in die phpbb_users eingetragen, bin dann aber zu dem Schluss gekommen eine eigene Tabelle zu verwenden, in der zusätzlich die User-ID eingetragen wird, um die passenden Daten wiederzufinden.

Konnte ich zuvor noch mit UPDATE arbeiten, bin ich bei der separaten Tabelle auf REPLACE- bzw. EINE INSERT/UPDATE-Abfrage angewiesen. Was das ganze jetzt mit request_var zu tun hat? Ganz einfach:

Beim INSERT-Befehl wird mir im Gegensatz zum UPDATE-Befehlt (wie kann das denn sein? O.o) angezeigt, dass die übergebenen Variablen NULL sind. (UPDATE gibt seltsamerweise die richtigen Werte zurück) Kurzerhand habe ich request_var durch $_POST zum Abfragen der Daten ersetzt, funktioniert das ganze auch mit INSERT. request_var gibt also bei INSERT-Befehlen (UPDATE funktioniert!) den Wert NULL zurück, während $_POST auch bei INSERT funktioniert.

Wie kann ich also einen INSERT-Befehl verwenden, ohne von request_var auf das unsicherere $_POST umsteigen zu müssen?

INSERT-Code:

Code: Alles auswählen

$sql = 'INSERT INTO ' . RANDOM_TABLE . '
                    ' . $db->sql_build_array('INSERT', $sql_ary);
                           
							$db->sql_query($sql);
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Aus diesem "Stückchen" Code können wir nichts ableiten.

Wie sehen Deine "POST" bzw. die "request_var" Abfragen aus.

Hinweis: POST Abfragen sind nur noch für Status Abfragen erlaubt.

Beispiel: Wurde ein Submit Button geklickt:

Code: Alles auswählen

$submit = (isset($_POST['submit'])) ? true : false;
Jimmy90
Mitglied
Beiträge: 26
Registriert: 03.03.2008 23:37

Beitrag von Jimmy90 »

Aus der modifizierten includes/ucp/ucp_profile.php:

Code: Alles auswählen

//Rauseditiert
Zuletzt geändert von Jimmy90 am 13.03.2008 22:20, insgesamt 1-mal geändert.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Dein sql_ary ist leer, wenn es ein INSERT wird, da beim allerersten SELECT nichts gefunden worden ist ( affected rows = 0 ).
Somit sind alle
$row['data1']
$row['data2']
Variablen leer!

Folglich auch die $data arrays...... usw... alles klar ?
Daher kann der request_var auch nicht funktionieren.
Jimmy90
Mitglied
Beiträge: 26
Registriert: 03.03.2008 23:37

Beitrag von Jimmy90 »

Danke für die schnelle und kompetente Hilfe!
Hab´s gelöst! :D
Antworten

Zurück zu „[3.0.x] Mod Support“