Hi zusammen,
ich möchte mit Mailformplus in eine DB schreiben.
Nun funktioniert das bei mir nicht.
Es werden nur leere Felder in die DB geschrieben. Woran kann das liegen? Ich weiß, es gab das Problem schon mal und es wurde unter
#540971
behoben. Das Problem ist nur, dass das bei mir schon geändert wurde ich es trotzdem nicht geht.
Kann mir jemand weiter helfen?
Mein Code:
# plugin-Einstellungen für mailformplus
plugin.tx_thmailformplus_pi1 {
saveDB = 1
saveDB.dbTable = tt_bestandsaufnahme
saveDB.fileUpload = upload/bestandsaufnahme
saveDB.mapping = name:name, subject:subject, email:email, phone:phone
debug = 1
}
Die Tabelle habe ich angelegt mit den Feldern uid als int, und name, subject, email, phone als VARCHAR(100).
Vielen Dank schon mal!
Hallo zusammen,
kann mir da keiner helfen?
Kann vielleicht jemand seinen Code posten, wie er funktioniert?
Wäre super!!
Liebe Typo3-Gemeinde,
ich bin leider immer noch damit beschäfigt.
Bei mir funktioniert Mailformplus nicht, wenn ich etwas in die DB schreiben will.
Hat da jemand eine Idee?
Würdet mir sehr weiterhelfen...
Beste Grüße!!
Hallo,
also bei mir funktioniert es jetzt mittlerweile.
Gib mal bei debug das saveDB davor an. Also saveDB.debug
und dann würde ich Feld für Feld ausprobieren und austesten.
Hi Flexi,
erstmal bin ich sehr froh, dass mir jemand geantwortet hat. Vielen Dank!!
Was meinst du denn mit Feld für Feld testen?
Konntest Du auch zu Beginn nichts in die DB schreiben?
Beste Grüße
wenn im mapping 1 fehler ist, dann funktioniert halt nichts mehr, das war wohl gemeint.
mein TS schaut so aus:
plugin.tx_thmailformplus_pi1.saveDB = 1
plugin.tx_thmailformplus_pi1.saveDB {
#debug = 1
dbTable = tt_address
# change .96. to an existing page-ID in your TYPO3 project
dbinsert=pid:2,hidden:0,tx_rggooglemap_display:1
dbkey =uid
# [inputFieldName]:[DBName]
mapping=bouldername:first_name,bouldername:tx_rgboulder_name,datum:tx_rgboulder_date
}
lösch also mal bei dir deine leerzeichen raus und schau ob die felder wirklich so heißen, sowohl im formular, als auch in der db
georg
Hallo Georg,
Vielen Dank für Deinen Tipp, aber das hat auch nichts gebracht.
# mailformplus
plugin.tx_thmailformplus_pi1.saveDB = 1
plugin.tx_thmailformplus_pi1.saveDB {
debug = 1
dbTable = tt_bestandsaufnahme
# change “41” to an existing page-ID in your TYPO3 project
# dbinsert=pid:41,hidden:1,CType:textpic
# if dbkey is not set: "uid" is taken
dbkey =uid
# [inputFieldName]:[DBName]
mapping=name:name,subject:subject
}
Das ist mein TS. Und im Debug-Modus bekomm ich folgende Meldung:
INSERT INTO tt_bestandsaufnahme ( name, subject ) VALUES ( '', '' )
Obwohl ich in die Felder etwas eingegeben habe...
Das Mapping stimmt auch.
An was könnte das sonst noch liegen?
und es gibt in deiner Tabelle eine uid, die key ist?
sonst halt mal mit tt_address probieren. und die datensätze stehen auch nicht in der datenbank (also via phpmyadmin prüfen)
georg
Hi,
ja, es gibt eine uid in meiner Tabelle.
Die wird auch immer schön erhöht wenn ich das Formular abschicke.
Also ich glaube der insert funktioniert prinzipiell. Leider steht aber nix drin in den 2 Spalten, die ich einfüge.
Die anderen Spalten der Tabelle haben den Wert NULL, die 2 die ich einfüge sind einfach leer.
Dann kommen wir dem ja schon näher.
aktuelle mailformplus-version bei mir und zB so einen Teil im template
<div class="row">
<label for="lat">Breitengrad</label>
<input readonly="readonly" name="lat" type="text" class="formInput noIcon" value="###value_lat###" title="Breitengrad" id="rggm_liad_lat" />
</div>
und dann beim mapping:
Das Feld in der Tabelle heißt tx_rggooglemap_lat
georg[/quote]
Hi,
also Du hast Deine Form mit XHTML aufgebaut.
Bei mir ist das html:
<tr>
<td valign="top">Name</td>
<td valign="top">###error_name###<input name="name" type="text" value="###value_name###"></td>
</tr>
<tr>
<td valign="top">Subject</td>
<td valign="top">###error_subject###<input name="subject" type="text" value="###value_subject###"></td>
</tr>
Ich habe entsprechend Deiner Vorgabe name und type in der Reihenfolge vertauscht, hat aber keine Auswirkungen.
Ich habe allerdings als root-Template ein template in XHTML. Könnte es daran liegen?
Das mapping ist dann:
mapping=name:name,subject:subject
Die Felder in der Tabelle heißen name und subject.
Vielen Dank!!
Hallo Popp(und die anderen),
schon ne lösung gefunden?
ich sitze an dem gleichen problem.
plugin.tx_thmailformplus_pi1.saveDB = 1
plugin.tx_thmailformplus_pi1.saveDB {
dbTable = formdaten
# change “192” to an existing page-ID in your TYPO3 project
dbinsert=pid:81,hidden:1,CType:textpic
# if dbkey is not set: "uid" is taken
dbkey =uid
# [inputFieldName]:[DBName]
mapping=vorname:vorname,name:name, birthday: birthday, street:street,
housenumber: housenumber, plz:plz, city:city, email:email,phone: phone
debug = 1
}
Ich habe mit phpMyAdmin die tabelle "formdaten" angelegt und die felder, die in TS stehen.(Zeile 12-13) und eine uid als auto increment.
pid ist doch die id der Seite mit dem Plugin,oder? bei mir dann 81.
und bei debug=1 ... wo wird das debugging ausgegeben?
woran könnte das denn liegen?
danke im voraus!
Lu
Also bei dir liegen die Probleme an ganz anderen Stellen.
Das hier:
dbinsert=pid:81,hidden:1,CType:textpic
sind Daten die bei jedem Insert hinzugefügt werden sollen... Wenn also deine Tabelle nicht gerade die Spalten pid, hidden und CType hat solltest du das auskommentieren bzw. durch was passendes ersetzen.
Außerdem kommen in deinem Mapping Leerzeichen vor. Das darf auch auf keinen Fall sein. Also alle Leerzeichen entfernen.
Dann nochmal probieren und gucken was passiert...
Grüße
Christian
Hi und danke für deine Antwort!
das hat tatäichlich was gebracht 🙂