Formmailer Fortgeschritten
Tazzi
- php
Hi,
hab da n kleines Problem mit dem Swift Formmailer (http://aktuell.de.selfhtml.org/artikel/php/form-mail-advanced/)
hab nun , ohne was an dem Code zu ändern, die datei als html hochgeladen und den order der bibliothek "daneben". aber irgendwas läuft da nicht.
leider bin ich in fehlerdeutung recht mies, kann mir da einer helfen?
also der html teil, das formular eben, wird korrekt angezeigt, aber darüber erscheint
setFrom(array($absenderadresse => $absendername)) ->setTo(array($zieladresse)) // alternativ existiert setCc() und setBcc() ->setSubject($betreff); $mailtext = ""; foreach ($_POST as $name => $wert) { if (is_array($wert)) { foreach ($wert as $einzelwert) { $mailtext .= $name.$trenner.$einzelwert."\n"; } } else { $mailtext .= $name.$trenner.$wert."\n"; } } $message->setBody($mailtext, 'text/plain'); $mailer = Swift_Mailer::newInstance(Swift_MailTransport::newInstance()); $result = $mailer->send($message); if ($result == 0) { die("Mail konnte nicht versandt werden."); } header("Location: $urlDankeSeite"); exit; ?> header("Content-type: text/html; charset=utf-8");
warum?
Danke
Tach!
also der html teil, das formular eben, wird korrekt angezeigt, aber darüber erscheint
[PHP-Code]
warum?
Vermutlich, weil die fragliche Datei nicht als PHP-Code interpretiert wird. Führt dein Server überhaupt PHP-Code (für Dateien der vorliegenden Endung) aus?
dedlfix.
Danke, ja mein Server führt php aus, ahb n ganzes php forum darüber laufen.
auch als php endung habe ich es probiert, dann ist die ganze seite einfach weiß..
http://tazzi.org/formmail.php
http://tazzi.org/formmail.html
Tach!
auch als php endung habe ich es probiert, dann ist die ganze seite einfach weiß..
Dann trat ein Fehler auf, der nur nicht angezeigt wird.
Erster Versuch:
error_reporting(E_ALL);
ini_set('display_errors', 1);
an den Anfang der Datei stellen (nach dem <?php natürlich)
Wenn das immer noch nichts anzeigt, dann tritt der Fehler schon beim Laden auf und das display_errors ist global deaktiviert. In dem Fall müsstest du schauen, ob du PHP-Einstellungen für dein Projekt umstellen kannst.
dedlfix.
Tach!
auch als php endung habe ich es probiert, dann ist die ganze seite einfach weiß..
Dann trat ein Fehler auf, der nur nicht angezeigt wird.
Erster Versuch:
error_reporting(E_ALL);
ini_set('display_errors', 1);
an den Anfang der Datei stellen (nach dem <?php natürlich)Wenn das immer noch nichts anzeigt, dann tritt der Fehler schon beim Laden auf und das display_errors ist global deaktiviert. In dem Fall müsstest du schauen, ob du PHP-Einstellungen für dein Projekt umstellen kannst.
dedlfix.
Umstellen? wie denn? im Moment teste ich das privat, wenn es dann funktioniert, soll es auf den Firmenserver..also wie stell ich da irgenwas ein? Steh da momentan aufm Schlauch.
Ich selbst bin iim übrigen bei artfiles.de, die firma, glaub ich, bei 1&1
Tach!
Wenn das immer noch nichts anzeigt, dann tritt der Fehler schon beim Laden auf und das display_errors ist global deaktiviert. In dem Fall müsstest du schauen, ob du PHP-Einstellungen für dein Projekt umstellen kannst.
Umstellen? wie denn?
Das musst du den Support oder dessen Hilfe-Seiten fragen, da das individuell und nicht global einheitlich konfiguriert wird.
Aber vielleicht ist es ja nur der simple Syntaxfehler, den Jörg aufgezeigt hat. Für allgemeine Probleme dieser Art, bei denen sich der Fehler besser versteckt, ist es jedoch sinnvoll, sich mit den Debugging-Möglichkeiten und sinnvollen Konfigurationswerten dafür zu beschäftigen. PHP ist beim Parsen des Codes viel genauer als ein flüchtiges menschliches Auge.
dedlfix.
Hi,
hab nun , ohne was an dem Code zu ändern, die datei als html hochgeladen
also mit Endung .html?
Das wäre bei dem php-Code kontraproduktiv, die Endung .html führt normalerweise nicht dazu, daß PHP-Code ausgeführt wird (das kann man zwar so konfigurieren, Voreinstellung ist es aber normalerweise nicht).
Benenne die Datei um auf die Endung .php - wenn Dein Server für PHP konfiguriert ist, ist das üblicherweise die Endung, woran der Server erkennt, daß er PHP ausführen soll.
cu,
Andreas
warum?
0.)
Das mit der notwendigen Endung .php wurde Dir bereits erklärt.
1.)
Du installierst etwas, wovon Du rein gar nichts verstehst. Das ist für Dein Vermögen gefährlich. Für Deine Gesundheit auch, allerdings nur mittelbar.
2.)
Auf den ersten Blick:
in der Zeile
if ($_SERVER['REQUEST_METHOD'] === "POST") {
befindet sich eine öffnende geschweifte Klammer.
Die schließende geschweifte Klammer nach dem
exit;
in Zeile 44 fehlt. Der Fehler ist fatal (Syntaxfehler).
Schreibe in Zeile 45 ein "}
" hinein. Dann steigen die Chancen. Ich weiß aber nicht, ob noch mehr falsch ist, das heisst, ich habe schon noch was gefunden, was eventuell Darstellungsprobleme verursachen könnte:
In Zeile 48 steht: "?>
"
in Zeile 50 steht: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
Vereinige beide Zeilen durch löschen der Zeilenumbrüche zu:
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
Die notwendige Swift-Bibliothek hast Du aber installiert?
Tach!
In Zeile 48 steht: "
?>
"
in Zeile 50 steht:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
Vereinige beide Zeilen durch löschen der Zeilenumbrüche zu:
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
?>
<!DOCTYPE...
(mit einem Zeilenumbruch) wäre auch ok, denn PHP definiert seinen Abschluss ?> inklusive eines optionalen Zeilenumbruchs. Oder anders gesagt: Kommt hinter einem ?> ein Zeilenumbruch, wird der vom Parser einkassiert.
dedlfix.