Hallo zusammen,
ich hoffe Ihr verzeiht mir, wenn ich in meinem ersten Post hier etwas Wichtiges vergessen sollte zu erwähnen.
Also:
Ich habe mit dem Formhandler (Version 1.6.1) eine Art Registrierungsformular erstellt (Name, Geburtstag, Mail usw.), welches dann mit Hilfe des Finisher_DifferentDB alle Eingaben in eine externe Datenbank speichert.
Soweit funktioniert das auch alles, aber jetzt soll für den Fall einer bereits vorhanden email der Eintrag aktualisiert werden.
Genau da liegt das Problem, denn im Debug-Mode kommt die Meldung:
Tx_Formhandler_Finisher_DB
UID parameter not found in GP. Cannot make update!
Data gets stored!
Tx_Formhandler_Finisher_DifferentDB
Executing request "INSERT INTO fh_inputtest ...
Der zeigt zwar keinen Fehler, in der Datenbank ändert sich aber natürlich nichts, da ja bereits ein Eintrag unter der email vorhanden ist, und das email-Feld in der Datenbank Primärschlüssel ist und deshalb nicht nochmal mit gleicher email besetzt wird.
Hab schon versucht die Email mit verstecktem input-Feld, wo sie dann automatisch drinstand, ins Formular einzubauen, aber obwohl sie in den Get/Post-Parametern auftaucht (was sie übrigens normal auch tut), funktioniert auch das nicht.
Hier der (hoffentlich komplette) relevante Teil des Typoscripts:
2.class = Finisher_DifferentDB
2.config {
host = ****
port = ****
db = testdb
driver = mysql
username = ****
password = ****
table = fh_inputtest
updateInsteadOfInsert = 1
key = email
key_value = TEXT
key_value.data = GP:formhandler|email
fields {
grade.mapping = position
firstname.mapping = firstname
lastname.mapping = lastname
birthday.mapping = datepicker
address.mapping = address
city.mapping = city
postcode.mapping = postcode
country.mapping = country
email.mapping = email
phone.mapping = phone
personal_info.mapping = message
file.mapping = fullfilename
}
}
Der Fehler tritt auf, egal ob key_value definiert wird, oder nicht.
Da bei mir mittlerweile restlos alle Links zu dem Thema bei Google lila sind, hab ich gedacht, frag ich mal hier 🙂