Hey!
Ich nutze nun schon längere Zeit meinen PHP Mailer und bin immer wieder dabei ihn zu verbessern oder ihn zu verändern. Jetzt bin ich aber auf ein Problem gestoßen, vl kann mir da wer helfen. Ich möchte nämlich, dass der Betreff einen Begriff aus einem Drop-Down Feld enthält, um die E-Mails nach Veranstaltungen(welche im Drop-Down Feld stehen) zu sortieren. Ist das möglich?
naja deine Drop Down Menü hat ja eine Eigentschaft, z.b. .
Jetzt musst du nur per $_POST[‚veranstaltung‘] das ausgewählte in den Betreff einfügen und gut ist
Natürlich geht das, wie Mad Dog schon anschaulich beschrieben hat. Du musst dabei jedoch darauf achten, was für Texte Du so übergibst. Die Texte die per $_POST[„veranstaltung“] eingetragen werden stammen aus dem value des -Elemente. Und diese sollten möglichst einen einheitlichen Zeichensatz haben sonst gibt es in deiner E-Mail und ggfs. auch auf deiner Webseite einen Zeichensalat. Also wenn Du z.B. „Österhasi“ als Veranstaltung zur Auswahl stellst, sollte das ganze Wort mit dem selben Zeichensatz formatiert sein wie deine Webseite (im Idealfall utf-8). Dann brauchst Du beim Eintragen dieses Textes in den Betreff
$betreff = "Reservierung für ".$POST["veranstaltung"];
den Zeichensatz nicht weiter beachten, musst nur darauf achten, dass Du auch eine E-Mail im selben Zeichensatz schickst (im Idealfall utf-8).
Alternativ kannst Du auch mit HTML-Kodierungen arbeiten, also Ö für ein Ö. Das würde jedoch per E-Mail dann blöd aussehen, weil im Betreff einer E-Mail kein HTML-Code stehen darf.
Naja, das ganze sollte noch wesentlich einfacher sein. Wenn der Formmailer ein Textfeld für den Betreff hat, kann man dies einfach durch ein gleichnamiges Auswahlfeld austauschen. Dazu sind keinerlei Änderungen im Code der Mailers notwendig.
So, ich hab jetzt endlich mal Zeit gefunden mich damit zu beschäftigen. Erst mal danke für eure Tipps, aber entweder ich stell mich zu dumm an, oder es funktioniert einfach nicht. Vl hab ich mich schlecht ausgedrückt, aber das Formular ist in HTML geschrieben, der Mailer in PHP. Ich schaff es einfach nicht, den Wert davon zu übergeben. So sieht mein Mailer aus, abgefragt werden nur Name, Mailadresse und Kartenanzahl, da der Rest nur zur Ergänzung/Defaultwerte hat. Mit $_POST[‚Veranstaltung‘](der Name der Variable im HTML Formular ist Veranstaltung!) geht das übergeben nicht, den Namen von den Leuten kann ich aber auch nicht eintragen lassen in den Betreff, immer wenn ich das so hinänder, hängt der Mailer dann und blockiert die Weiterleitung.
Ich weiß echt nciht mehr weiter… :sad:
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die(„Die Mail konnte nicht versendet werden.“);
header(„Location: $strReturnhtml“);
exit;
}
Ok, ich hab jetzt mal einen Fehler gefunden, nämlich die ’ haben mir die Weiterleitung/das Ausfüllen blockiert. Jetzt steht zumindest der Name schon im Betrefffeld. Jetzt fehlt vorne nur noch das "Reservierung für: "
Was mit [PHP]$strSubject = ‚Reservierung für:‘ $_POST[‚Name‘]; [/PHP]Nicht funktioniert. Auch ohne ’ nicht.
Ohne nun den gesamten Kontext als Lektüre gehabt zu haben:
Ersetze
[php]$strSubject = ‚Reservierung für:‘ $_POST[‚Name‘]; [/php]
durch
[php]$strSubject = ‚Reservierung für:‘ . $_POST[‚Name‘]; [/php]
Erstere Variante sollte eigentlich einen Serverfehler ausgeben.
Hey, vielen Dank!
Funktioniert jetzt alles super!
ABER: manche schaffen es, dass KEIN Betreff angezeigt wird, obwohl allen Feldern ein Wert zugewiesen ist. Woran liegts?