Mailformular

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
TomW
Mitglied
Beiträge: 351
Registriert: 02.05.2002 22:55
Wohnort: Eichelsee
Kontaktdaten:

Mailformular

Beitrag von TomW » 02.11.2007 16:19

Hallo,

Ich habe hier dieses Mailformular, wenn ich damit eine Mail abschicke, erscheint der Text immer mit einer zusätzlichen Leerzeile.

Beispiel:

eingegebener Text:
Hier nun mein Text,
da war schon der erste Absatz.
Und gleich noch einen
hinterher.
Die E-Mail sieht dann aber so aus
Hier nun mein Text,

da war schon der erste Absatz.

Und gleich noch einen

hinterher.
Bei einem anderen Provider ist das Problem nicht, mein Provider meinte dass es an Einstellungen wie magic_quotes liegt, habe es daraufhin mit folgendem Code versucht, hat aber auch nicht geklappt.

Code: Alles auswählen

  foreach($_POST as $parameter => $wert)
	{
	$_POST[$parameter] = stripslashes($wert);
	}
Woran liegt das und wie kann ich das verhindern?


TomW
Computerprobleme??? -> http://www.weber-computerhilfe.de

Benutzeravatar
Stefane
Mitglied
Beiträge: 784
Registriert: 04.02.2006 22:43
Wohnort: Rathenow
Kontaktdaten:

Beitrag von Stefane » 02.11.2007 17:16

hallo,

am ehesten liegt es daran, dass durch dieses Script die neue Zeile als \r\n interpretiert wird.

wenn du das \r entfernst, dann könnte der Fehler schon behoben sein.

Eine Möglichkeit wäre:

str_replace ("\r", "", $deintext);

Wo das genau hin muss, hängt von deinem Script ab. Aber wie es scheint, kennst du dich ein wenig mit php aus, also solltest du auch die Stelle finden. :wink:

Lg

Stefane

TomW
Mitglied
Beiträge: 351
Registriert: 02.05.2002 22:55
Wohnort: Eichelsee
Kontaktdaten:

Beitrag von TomW » 03.11.2007 18:55

Stefane hat geschrieben: Eine Möglichkeit wäre:

str_replace ("\r", "", $deintext);
Habe beide Möglichkeiten versucht, also \r und \n aber hat nichts geholfen. Kann ich mir die \n und \r des Textes irgendwie anzeigen lassen?

TomW
Computerprobleme??? -> http://www.weber-computerhilfe.de

Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 » 03.11.2007 23:31

Code: Alles auswählen

$message = str_replace("\r", "[R]", $message);
$message = str_replace("\n", "[N]", $message);
Damit werden alle Zeilenumbrüche sichtbar ;-)


MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!

TomW
Mitglied
Beiträge: 351
Registriert: 02.05.2002 22:55
Wohnort: Eichelsee
Kontaktdaten:

Beitrag von TomW » 04.11.2007 17:27

Stefane hat geschrieben: str_replace ("\r", "", $deintext);
Es klappt doch, hatte das so geschrieben wie oben, muss ja aber so lauten.
$deintext = str_replace ("\r", "", $deintext);
Danke

TomW
Computerprobleme??? -> http://www.weber-computerhilfe.de

Antworten

Zurück zu „Coding & Technik“