

Anmelde-Formular

Strohhalm Spendenkonto
Konto-Inhaber: Mathias Bank
Konto-Nummer: 83 04 297
BLZ: 200 905 00
Kreditinstitut: Netbank AG
Hinweis: Die Spenden werden bis auf weiteres ausschließlich dafür eingesetzt, den Strohhalm gegen rechtliche Angriffe zu schützen. Ein anderer Verwendungszweck muss von der gesamten Administration genehmigt werden.
aktueller Spendenstand: 188.01 €

strohhalm Standard (aktiv) von baumeister
(Noch keine User-Stylesheets vorhanden)
Hinweis: Zum Wechseln der Styles muss ein Cookie akzeptiert werden. Jedes registrierte Community-Mitglied darf eigene Styles entwickeln und einreichen. Ausführliche Infos unter Styleswitcher-Hilfe.
Neue Styles an baumeister@strohhalm.org senden.

strohhalm.org / Archiv / Programmierung Serverseitig / Eintrag lesen
LuvShining 08. Dezember 2004, 15:57
Und wieder ein kleines PHP Prob :-(
Übung macht den Meister. Theorie ist prima, die Praxis bricht mir gerad beide Arme.
Problem: User können über ein Eingabeformular diverses an mich übermitteln. Nun gibt der User folgende Zeichen in den Text ein: " \ oder / undundund. In der Textvorschau-Seite wird noch alles richtig angezeigt. Bei der Übermittlung per EMail dann kommt bei mir nicht mehr alles an.
In der Theorie wurde mir glaube ich was von addslashes und quotemeta beigebracht.... Die Theorie habe ich nun auch X-Mal gelesen, aber in der Praxis weiss ich nun überhaupt nicht, wie ich diese Zeichen umwandeln bzw. ausfiltern kann, so dass dem User (a) der richtige Text vollständig angezeigt wird und (b) und das ist das wichtigste, mir auch der komplette Text wie in der Eingabe zuvor erfolgt auch übermittelt wird.
Kann mir hierzu jemand einen Tipp geben?
Viele Grüße
Nadine
LuvShining 09. Dezember 2004, 11:49
Hmm ok, jetzt habe ich mich durch Kapitel über "addslashes" etc. gelesen und dabei festgestellt, dass das nicht meine Lösung ist.
Die Problematik ist halt, dass der gesamte Text auch mit den Sonderzeichen auf der Vorschau-Seite noch richtig angezeigt wird und erst bei der Übermittlung der Daten, mit Eingang bei mir per Mail, nicht mehr korrekt sind.
Da verschwinden Worte, die Zollangabe (" z.B. für einen Monitor) wird durch // ersetzt, etc.
Nein, die Daten sollen nicht in einer DB gespeichert werden, sondern lediglich vom Formular per EMail an mich übermittelt werden- vollständig, korrekt und inkl. aller Sonderzeichen.
Kennt jemand eine Lösung für mich?
Über eine Antwort würde ich mich freuen.
Viele Grüße
Nadine
LuvShining 09. Dezember 2004, 12:26
Ist die Frage etwa sooooo blöd, dass man dafür gleich nen 'Minuspunkt' kassiert?
Dachte, dass jeder mal anfangen darf und nicht von vorn herein der Profi sein muss.... ?!
error404 09. Dezember 2004, 12:55
Holla!
... also... klassiker ;)
Dein PHP ist wahrscheinlich so konfiguriert, dass alle Sonderzeichen welche aus einem Formularfeld gelesen werden, escaped werden. -> heisst du brauchst werde ein addslashes() bzz. addcslashes() oder quotemeta() .
Dein Problem liegt ja darin, dass du die Zeichen wieder los werden wills, richtig??
dafür ist die funktion :
stripcslashes() -- Umkehrung / Gegenstück zu addcslashes
oder
stripslashes() -- Umkehrung / Gegenstück zu addslashes
predistiniert.
Dein Mailaufruf könnte also so aussehen:
@mail("nobody@example.com", "Betreff", stripslashes($mailinhalt));
Das mit dem Minus kann ich mir daurch erklären, dass es manchmal nützlich sein kann das Handbuch von PHP[1] zu durchforsten. Bei der Funktion addslashes Beispielsweise, findest du einen Verweis aus stripslashes.
Verweise -----------------------
[1]
http://www.php.net
error404 09. Dezember 2004, 13:02
sorry wegen der Rechtschreibfehler, ich sollte ein bisschen mehr schlafen ;)