Seite 1 von 1

Textfeld-Inhalt geht in falsche Spalte, verschiebt alles

Verfasst: 03.06.2004 17:46
von gabriela
Hallo,

ich habe ein Problem mit einem text- bzw. textarea-Formularfeld.
Wenn man "Text" eingibt, bekomme ich die Fehlermeldung, dass die Spalte "Text" in der sql-DB fehlt. Irgendwie wird der eingegebene Text also anscheinend als Name der Variable missinterpretiert.
Hat jemand eine Idee, woran das liegen könnte?

Es grüßt
Gabriela


In der DB ist das textarea-Feld so definiert:

Code: Alles auswählen

ALTER TABLE `phpbb_users` CHANGE `user_item15` `user_item15` TEXT DEFAULT NULL
Hier die Fehlermeldung:

Code: Alles auswählen

Could not insert data into users table

DEBUG MODE

SQL Error : 1054 Unknown column 'text' in 'field list'

INSERT INTO phpbb_users (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_nummer, user_item2, user_item3, user_item4, user_item5, user_item6, user_item7, user_item8, user_item9, user_item10, user_item11, user_item12, user_item13, user_item14, user_item15, user_level, user_allow_pm, user_active, user_actkey) VALUES (22, 'fernandes', 1086277529, 'b1e39f1f87be88ced93a617e3578f6bc', 'fernandes@gmfb.de', '', '', '', '', 'bbb', '', '', '', '', 0, 0, '', '', '', 0, 1, 1, 1, 1, 0, 1, 1, 1, 'd.m.Y, H:i', 'german', 1, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 14, 0, text, 0, 1, 0, 'a3f4b4')

Line : 550
File : /srv/www/htdocs/web154/html/phpbb2/includes/usercp_register.php

Code: Alles auswählen

Hier meine profile_add_body.tpl:
<tr>
<td class="row1"><span class="gen">{L_ITEM15} </span></td>
<td class="row2">
<input type="text" class= "post" style="width: 100px" name="item15" size="35" value="{ITEM15}" />
</td>
</tr>

Verfasst: 03.06.2004 17:50
von PhilippK
Strings gehören auch in Anführungszeichen :-D

Gruß, Philipp

Verfasst: 04.06.2004 10:22
von gabriela
Hallo Philipp,
danke für deine Antwort.
Ich verstehe sie nur leider nicht.
Vielleicht eine blöde Frage, aber wo genau muss ich Anführungszeichen setzen? :oops:

Verfasst: 04.06.2004 13:06
von QCO
INSERT INTO phpbb_users (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_nummer, user_item2, user_item3, user_item4, user_item5, user_item6, user_item7, user_item8, user_item9, user_item10, user_item11, user_item12, user_item13, user_item14, user_item15, user_level, user_allow_pm, user_active, user_actkey) VALUES (22, 'fernandes', 1086277529, 'b1e39f1f87be88ced93a617e3578f6bc', 'fernandes@gmfb.de', '', '', '', '', 'bbb', '', '', '', '', 0, 0, '', '', '', 0, 1, 1, 1, 1, 0, 1, 1, 1, 'd.m.Y, H:i', 'german', 1, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 14, 0, text, 0, 1, 0, 'a3f4b4')
Um den rot markierten Text müssen Anführungsstriche drum...

Verfasst: 05.06.2004 08:48
von Jensemann
ausserdem solltest du prüfen ob der text vorher mit addslashes() behandelt wird, sonst SQL Injection.

SQL Error : 1064 You have an error in your SQL syntax

Verfasst: 08.06.2004 12:59
von gabriela
Danke, das mit den Anführungsstrichen hab ich hinbekommen. Kurzzeitig funktionierte das Formular mit Radiobuttons auch.

Jetzt, nachdem ich ein Textfeld hinzugefügt habe, das aber in der DB die Spalten verschoben hat und das ich daraufhin wieder entfernt habe, gehts nicht mehr, aaargh :-(.

Hab jetzt alle Formularfelder (auch in der DB) entfernt und bekomme trotzdem diese Fehlermeldung:

Code: Alles auswählen

Could not insert data into users table

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near ''', '', '', 0, 1, 1, 1, 1, 0, 1, 1, 1, 'd.m.Y, H:i', 'german', 1, 0, 1, 0, '2279' at line 2

INSERT INTO phpbb_users (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey) VALUES (22, 'fernandes', 1086691581, 'b1e39f1f87be88ced93a617e3578f6bc', 'fernandes@gmfb.de', '', '', '', '', '', '', '', '', 0, 0 '', '', '', 0, 1, 1, 1, 1, 0, 1, 1, 1, 'd.m.Y, H:i', 'german', 1, 0, 1, 0, '227995')

Line : 538
File : /srv/www/htdocs/web154/html/phpbb2/includes/usercp_register.php 
Hat jemand eine Idee und kann mir helfen?

verzweifelter Gruß
Gabriela

Verfasst: 08.06.2004 14:20
von QCO
INSERT INTO phpbb_users (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey) VALUES (22, 'fernandes', 1086691581, 'b1e39f1f87be88ced93a617e3578f6bc', 'fernandes@gmfb.de', '', '', '', '', '', '', '', '', 0, 0, '', '', '', 0, 1, 1, 1, 1, 0, 1, 1, 1, 'd.m.Y, H:i', 'german', 1, 0, 1, 0, '227995')

Verfasst: 08.06.2004 16:22
von gabriela
Vielen Dank fürs checken, jetzt gehts!!! :)
Ich saß heute schon 4 Stunden an dem Problem und alles wegen einem Komma...
Viele Grüße von Berlin nach Meißen
Gabriela

Verfasst: 09.06.2004 00:07
von gabriela
So langsam komme ich dem Ziel näher, aber es gibt doch noch ein Problem, das ich nicht lösen kann:
Wenn ich ein Textfeld in meinen Fragebogen einbaue, werden die Daten in der sql-DB nicht in die richtigen Tabellenspalten geschrieben (vorher schon).
Der Inhalt meines Textfeldes wird in die user_sig-Spalte geschrieben und die Radiobutton-Werte rücken eins auf, so dass der value des letzten Radiobuttons in die Textfeld-Spalte geschrieben wird.
Irgendwoher kommt eine Null, die alles verschiebt, glaube ich, denn die war vorher nicht da.
Hm, hat vielleicht jemand eine Idee wo ich nach dem Fehler suchen kann? Auf jeden Fall in der usercp_register.php denke ich, aber wo?
An der sql-Datenbank liegt es glaube ich nicht. Das Textfeld ist definiert als user_item13 varchar(14) not_null.

Gruß
Gabriela

Verfasst: 09.06.2004 07:10
von QCO
Der Fehler liegt mit großer Wahrscheinlichkeit hier

Code: Alles auswählen

INSERT INTO phpbb_users (user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey) VALUES (22, 'fernandes', 1086691581, 'b1e39f1f87be88ced93a617e3578f6bc', 'fernandes@gmfb.de', '', '', '', '', '', '', '', '', 0, 0, '', '', '', 0, 1, 1, 1, 1, 0, 1, 1, 1, 'd.m.Y, H:i', 'german', 1, 0, 1, 0, '227995') 
Nachdem wir ja jetzt schon wissen, dass du damit Probleme hattest...
Schau dir mal genauer den Aufbau dieses Querys an...
INSERT INTO tabelle (feldname1, feldname2, feldname3...) VALUES (wert1, wert2, wert3...)
Bei dir ist höchstwahrscheinlich irgendwas bei der Reihenfolge von den Werten vertauscht, verrutscht oder so...