WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 13.03.2024 20:08:09

mac-schierer
Member

HTML in Textfeld zulassen und in Mail als HTML ausgeben

Hallo in die Runde

ich möchte in einem Textfeld des Formular auch HTML Eingaben zulassen.
Dieses Eingaben sollen dann auch korrekt als HTML formatiert in der Mail ausgegeben werden.

Inhalt Textfeld z.B.: <h1>Überschrift</h2>

Ausgabe in der Mail:

Überschrift

Ist das mit kleinen Korrekturen an der view.php bzw. functions.php möglich?
htmlspecialchars fällt dabei in der functions.php direkt auf.

[== PHP ==]
function safe_get_post($postfield) {
...
$val = htmlspecialchars($val);
...

Allerdings birgt ein Auskommentieren gewisse Sicherheitsrisiken, oder?

Eine andere Möglichkeit finde ich aktuell nicht.

Über Vorschläge würde ich mich freuen.

Offline

#2 13.03.2024 20:15:10

florian
Administrator

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

Kannst Du den Anwendungsfall etwas genauer beschreiben, also warum Du diese doch eher ungewöhnliche und in der Tat mit erheblichen Risiken behaftetete Funktionalität (Stichwort XSS) benötigst?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 13.03.2024 21:15:55

mac-schierer
Member

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

Genau solche Sicherheitsrisiken möchte ich unbedingt vermeiden.

Der Anwendungsfall ist so einfach, dass er wiederum in der Umsetzung mit MiniForm recht kompliziert ist.

Jeder kennt die schicken PDF-Dateien mit Formularfeldern, die vom Anwender schnell und einfach ausgefüllt werden können.
Neben den eigentlichen Eingabefeldern beinhaltet ein solches PDF oft weitere (Fließ-)Texte und zusätzliche Informationen rund um das Formular.

Mittels der Formular-Templates bei MiniForm ist es ja kein Problem ein nettes Formular mit zusätzlichen Texten und sogar kleinen Rechenfunktionen (Javascript im Template) nachzubilden. Am schönsten wäre es nun, wenn das Mail-Template ähnlich aufgebaut werden könnte.

Allerdings finde ich hierzu keine Lösung, da alle Eingabefelder mit {MAILMESSAGE} bzw. {FIELD} {VALUE} als Scheife gefüllt werden.
Eine individuelle Formatierung der Eingaben mit zusätzlichen Inhalten ist daher nicht möglich.

Angesichts dessen hatte ich die Idee, ein "textarea" mittels Javascript - ausgeführt aus dem Formulartemplate - mit schön formatierten Eingaben aus dem Formular und den zusätzlichen Texten zu füllen. Das funktioniert tatsächlich ohne Probleme.

Dann hört es aber auch schon auf. Diesen formatierten Inhalt bekomme ich leider nur unformatiert in die Mail bzw. in die Dankeseite mit "LastForm".
Auch eine Umformatierung der HTML-Tags nach HTML entities funktioniert nicht.

Ich hoffe, ich habe den Sachverhalt einigermaßen verständlich erklärt.

Offline

#4 14.03.2024 00:22:46

dev4me
Developer

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

I would strongly advice not to do this, unless in a very controlled environment where the visitor sending the form is trusted.
It will give a major security risk.

I sent - by direct message - "mac-schierer" a "hack" to allow the html to be sent in the html and lastform droplet.
Since I think the security risk is too high I did not want to put that in the public forum. We don't want anyone to try this too.

Offline

#5 14.03.2024 16:50:48

stefanek
Developer

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

Wenn ich den Anwendungsfall verstehe, weiß ich immer noch nicht, warum das HTML mitgeschickt werden soll?
Würde es nicht reichen einfach die ausgefüllten Felder zu erhalten?

Man könnte möglicherweise auch mit versteckten Felder arbeiten, um in der ankommenden E-Mail des Formulars die Fragen und dann die Antworten zu erhalten.

Ich meine das so:

HTML Inhalt auf der Seite mit der strukturierten Frage.
<input type="hidden" value="Die gleiche Frage, unstrukturiert, hauptsache kommt in der E-Mail vor der Antwort an">
<textarea>Feld für die eigentliche Antwort der ausfüllenden Person.</textarea>

USW.

Vielleicht hilft das?
Oder ich verstehe tatsächlich das Anliegen nicht.

Schönen Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#6 14.03.2024 19:03:39

mac-schierer
Member

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

stefanek wrote:

Würde es nicht reichen einfach die ausgefüllten Felder zu erhalten?

Grundsätzlich reicht das natürlich. Allerdings bin ich und der Kunde da etwas "verwöhnt" und hätten gern eine schön formatierte Mail.

stefanek wrote:

Man könnte möglicherweise auch mit versteckten Felder arbeiten,

Richtig. Genau das habe ich auch schon umgesetzt. Auch hier bin ich mit dem Ergebnis nicht ganz zufrieden.

Ich denke ich versuche hier MiniForm etwas abzuringen, was einfach nicht umsetztbar ist.
Leigt an den eigenen "hohen" Ansprüchen.  smile


Eine absolut gangbare Lösung wäre, ein schön durchdesigntes PDF mit Formularfeldern bereitzustellen.
Dieses kann der Besucher dann downloaden und ausgefüllen.
Anschließend kann er das PDF via MiniForm Dateiupload versenden.
Fertig.

Offline

#7 14.03.2024 21:18:01

stefanek
Developer

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

Nun verwöhnt bin ich auch. Deswegen würde ich die Lösung mit der PDF nicht bevorzugen, denn das ist für diejenigen, der das ausfüllen und einsenden sollen zu viele Schritte.

Besser wäre es, zu überlegen, ob man die Daten die Eingegeben wurden nicht anders verarbeitet bevor man die Mail losschickt.
Ein Template für das Formular machen und ein weiteres für die E-Mail, die versandt wird. Das erfordert mehr Programmierung würde aber, wenn man es genau plant und umsetzt, genau das gewünschte Ergebnis liefern.

Wichtig bei solchen Umsetzungen ist die Priorisierung von Schwerpunkten.
Z.B.:
Warum ist es wichtig, dass die Daten in einem optisch ansprechenden Format per Mail ankommen?
Ist das Format der ankommenden Mails wichtiger als dass Mails überhaupt ankommen?
Was ist die Kosten-Nutzen-Rechnung, wenn ich mehr Zeit=Geld in die Umsetzung eines optisch ansprechenden Formats investiere?

Schönen Gruß,
Christian

Last edited by stefanek (14.03.2024 21:18:41)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#8 14.03.2024 23:05:25

florian
Administrator

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

Ähm, mpform kann das. Also "schöne" Bestätigungsmails. Da braucht man gar nicht das Rad neu zu erfinden.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

stefanek

#9 15.03.2024 18:50:35

mac-schierer
Member

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

stefanek wrote:

Nun verwöhnt bin ich auch. Deswegen würde ich die Lösung mit der PDF nicht bevorzugen, denn das ist für diejenigen, der das ausfüllen und einsenden sollen zu viele Schritte.

Hier gebe dich dir recht - die ideale Lösung sieht wirklich anders aus.

stefanek wrote:

Ein Template für das Formular machen und ein weiteres für die E-Mail, die versandt wird.
Das erfordert mehr Programmierung würde aber, wenn man es genau plant und umsetzt, genau das gewünschte Ergebnis liefern.

Das Gestalten der Templates wäre kein Problem. Für das Template der Mail müsste MiniForm allerdings Möglichkeit haben, ein individuelles Mail Template anzusteuern. So steht aktuell nur das allgemein email.htt zur Verfügung, welches für alle Formulare einer Seite verwendet wird.
Des Weiteren müssten die Eingabefelder und deren Values eindeutige zu erkennen sein. Aktuell laufen die Ergebnisse durch eine "Schleife" und werden entsprechend ihrer Reihenfolge ausgegeben.

stefanek wrote:

Wichtig bei solchen Umsetzungen ist die Priorisierung von Schwerpunkten.

Richtig - deshalb klopfe ich aktuell alle Optionen ab und stelle daher auch hier die Fragen.
Mit dem Ergebnis, dass ich schon weitere Ansatzpunkte zum Testen habe.
Der Aufwand ist erst mal zweitrangig, sollte dann aber im Rahmen bleiben.


An dieser Stelle bereits Danke für euren Input!

Offline

#10 15.03.2024 18:52:21

mac-schierer
Member

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

florian wrote:

Ähm, mpform kann das. Also "schöne" Bestätigungsmails. Da braucht man gar nicht das Rad neu zu erfinden.

Werde ich mir bei Gelegenheit auch mal anschauen. Da lassen sich aber leider keine Formular-Templates wie bei MiniForm bauen, oder?
Bei mpform werden die Formulare interaktiv im Frontend zusammengeklickt. Längere Fließtexte zwischen den Eingabefeldern ist nicht möglich.

Offline

#11 15.03.2024 23:38:06

stefanek
Developer

Re: HTML in Textfeld zulassen und in Mail als HTML ausgeben

Ist schon lange her, dass ich am oder mit mpForm was gemacht habe, aber soweit ich mich erinnern kann konnte man da auch Felder mit einfachem HTML machen.
Notfalls einfach anschauen und mit rumexperimentieren.

MiniForm: ja, da gibt es so aus der Box keine Möglichkeit personalisierte Mail-Templates pro Formular anzusteuern. Ohne jetzt drauf zu schauen glaube ich aber, dass es sich mit nicht all zu großem Aufwand umsetzen ließe.
Wenn Budget dafür bereit steht könnte es sich auch lohnen bei dem Modul-Entwickler (RuudE/dev4me) anzufragen.

Schönen Gruß,
Christian

Last edited by stefanek (15.03.2024 23:38:34)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Board footer

up