Hi,
Ok, also dann erzähl ich dir/euch eben alles (auch wenn ich das immer noch für unnötig halte, da ich eigentlich nur wissen wollte, wie ich Zeilenumbrüche in der URL übermitteln kann)
Wenn du danach gleich gefragt hättest, hätte ich dir das auch gleich beantworten können. Hast du aber nicht - sondern jede Menge Quark drumherum erzählt.
// Mail versenden und Versanderfolg merken
$mailSent = mail($mailTo, $mailSubject, $mailText, "From: ".$mailFrom);
Bekommst du jetzt eine auf diese Zeile bezogene Fehlermeldung, oder nicht?
Und wenn ja - wie genau lautet diese?
// Wenn die Mail nicht versendet werden konnte:
else {
// Seite "Fehler aufgetreten" senden:
$name = $_POST['Name'];
$email = $_POST['Mail'];
$betreff = $_POST['Betreff'];
$nachricht = $_POST['Nachricht'];
echo "
<script type='text/javascript'>
alert('Email konnte nicht versendet werden!');
alert('Bitte versuche es erneut');
window.location='index.php?content=kontakt&Name=$name&Mail=$email&Betreff=$betreff&Nachricht=$nachricht';
</script>";
Natürlich löst das einen JavaScript-Fehler aus, wenn in irgendeinem der Feldinhalte ein Zeilenumbruch vorkommt - weil du damit ein Textliteral erzeugst, dass einen Zeilenumbruch enthält, und damit die JavaScript-Syntax verletzt.
Wenn du die Zeilenumbrüche in dieser Stelle in eine JavaScript-Variable „übergeben“ willst, dann wandle sie in \n um.
> Wenn die Email versendet werden kann, dann erfolgt die Bestätigung mittels Javascript in Form eines Alert-Fensters und der User wird wieder zur Kontakt-Seite weitergeleitet.
> Falls die Email nicht versendet werden kann (weshalb auch immer), soll der Besucher mittels Alert darüber benachrichtigt werden [`alert('Email konnte nicht versendet werden!');`{:.language-javascript}]
> und ihm soll es möglich sein, den Versand der Mail erneut zu versuchen (das wird ihm auch über Alert mitgeteilt).
Das ist in sich schon ziemlicher Unsinn.
Informiere dich mal über das Stichwort Affenformular - damit kann man sowas vernünftig umsetzen.
> Im Prinzip klappt das Übertragen aller Felder solange im TEXTAREA keine Zeilenumbrüche vorhanden sind
> UND DAS IST MEIN PROBLEM!
Ja, inzwischen wird klar, was dein Problem ist.
Was du anfangs an Beschreibung geliefert hast, trug dazu jedoch gar nichts bei, sondern führte nur auf eine vollkommen falsche Fährte.
> Vor dem Senden des Formulars beim ersten Mal müsste ich theoretisch Zeilenumbrüche irgendwie mit Hilfe von PHP/Javascript finden und diese löschen und später wieder einfügen um den Text wieder genauso in das Textarea einzutragen wie er vom User verfasst wurde. Doch wie mache ich das?!
Am besten gar nicht, s.o. (Affenformular).
Falls du doch bei dieser halbgaren Frickellösung bleiben willst - str\_replace kann die Zeilenumbruchzeichen finden und ersetzen.
> So... jetzt habe ich hoffentlich das Problem ausreichend beschrieben (auch wenn ich immer noch der Meinung bin, dass das nicht notwendig war)?!
Hoffentlich siehst du inzwischen ein, dass es sehr wohl notwendig war.
Und das liegt nicht zuletzt daran, dass du dich reichlich ungeschickt angestellt hast bei der Formulierung, was eigentlich dein Problem ist bzw. was du erreichen willst, als auch daran, dass du selbst noch recht wenig zu durchschauen scheinst, was genau den Fehler eigentlich ausgelöst hat. Nicht PHP „hat ein Problem mit der Ausgabe der Zeilenumbrüche“, wie du dich ausgedrückt hast - ganz und gar nicht. Aber der JavaScript-Code, den dein PHP-Script erzeugt hat, der war ungültig.
MfG ChrisB
--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?