philipp-schoene Geschrieben 18. November 2006 Geschrieben 18. November 2006 Ich habe folgendes Mail-Formular. Ich möchte gerne, dass eine Erfolgsmeldung nach dem erfolgreichem Versenden eine kurze Meldung angezeigt wird. Eine Link zur Hauptseite oder so wäre da sinnvoll. Schön wäre auch, dass man die Felder auf Richtigkeit prüfen könnte. <?php ### Konfiguration ### # Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen! # An welche Adresse sollen die Mails gesendet werden? $strEmpfaenger = 'philipp@philipp-schoene.de'; # Welche Adresse soll als Absender angegeben werden? # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben) $strFrom = '"Formmailer-Test für www.notarbeck.de" <notariat@notarbeck.de>'; # Welchen Betreff sollen die Mails erhalten? $strSubject = 'Feedback von der Homepage www.notarbeck.de'; # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden? # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben! $strReturnhtml = 'http://www.notarbeck.de'; # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen? $strDelimiter = ":\t"; ### Ende Konfiguration ### if($_POST) { $strMailtext = ""; while(list($strName,$value) = each($_POST)) { if(is_array($value)) { foreach($value as $value_array) { $strMailtext .= $strName.$strDelimiter.$value_array."\n"; } } else { $strMailtext .= $strName.$strDelimiter.$value."\n"; } } if(get_magic_quotes_gpc()) { $strMailtext = stripslashes($strMailtext); } mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom) or die("Die Mail konnte nicht versendet werden."); // header("Location: $strReturnhtml"); exit; } ?> <h1>Kontaktformular</h1> <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post"> <!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. --> <dl> <dt>Ihr Name:</dt> <dd><input type="text" name="Versender" /></dd> <dt>Ihre E-Mail:</dt> <dd><input type="text" name="E-Mail" /></dd> <dt>Ihre Nachricht:</dt> <dd><textarea name="Nachricht" rows="5" cols="30">Bemerkungen</textarea></dd> </dl> <!-- Ende der Beispielangaben --> <p> <input type="submit" value="Senden" /> <input type="reset" value="Zurücksetzen" /> </p> </form> </body> </html>[/PHP] Zitieren
geloescht_JesterDay Geschrieben 20. November 2006 Geschrieben 20. November 2006 Mal kurz als Ansatz: <?php echo "<?xml version=\"1.0\"?>"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>New Document</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> </head> <body> <?php ### Konfiguration ### ... if(isset($_POST["submit"])) { $strMailtext = ""; while(list($strName,$value) = each($_POST)) // Hier noch submit rausfiltern { if(is_array($value)) { foreach($value as $value_array) { $strMailtext .= $strName.$strDelimiter.$value_array."\n"; } } else { $strMailtext .= $strName.$strDelimiter.$value."\n"; } } if(get_magic_quotes_gpc()) { $strMailtext = stripslashes($strMailtext); } mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom) or die("Die Mail konnte nicht versendet werden."); ?> <h1>Mail erfolgreich versandt</h1> <a href="index.php">zurück zur Hauptseite</a> <?php } else { ?> <h1>Kontaktformular</h1> <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post"> <!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. --> <dl> <dt>Ihr Name:</dt> <dd><input type="text" name="Versender" /></dd> <dt>Ihre E-Mail:</dt> <dd><input type="text" name="E-Mail" /></dd> <dt>Ihre Nachricht:</dt> <dd><textarea name="Nachricht" rows="5" cols="30">Bemerkungen</textarea></dd> </dl> <!-- Ende der Beispielangaben --> <p> <input type="submit" name="submit" value="Senden" /> <input type="reset" value="Zurücksetzen" /> </p> </form> <?php } ?> </body> </html>[/PHP] Zitieren
philipp-schoene Geschrieben 22. November 2006 Autor Geschrieben 22. November 2006 Oben unter "### Konfiguration ### " Muss ich da nur noch den Empfänger eintragen. Oder was noch? Und in welcher Forum muss ich den eintragen? (Variable = Email-Adresse?) Zitieren
philipp-schoene Geschrieben 12. Dezember 2006 Autor Geschrieben 12. Dezember 2006 Meine Frage steht immer noch... Zitieren
robotto7831a Geschrieben 12. Dezember 2006 Geschrieben 12. Dezember 2006 Einen Ansatz hat Jesterday doch schon gepostet. Frank Zitieren
philipp-schoene Geschrieben 12. Dezember 2006 Autor Geschrieben 12. Dezember 2006 Einen Ansatz hat Jesterday doch schon gepostet. Frank Wie schon gesagt. Aber ich weiß ja nicht wie es weiter geht. (siehe meinem vorletzten Beitrag) Zitieren
geloescht_JesterDay Geschrieben 13. Dezember 2006 Geschrieben 13. Dezember 2006 Oben unter "### Konfiguration ### " Muss ich da nur noch den Empfänger eintragen. Oder was noch? Da steht einfach dein Teil von ### Konfiguration ### bis ### Ende Konfiguration ###. Zitieren
philipp-schoene Geschrieben 18. Dezember 2006 Autor Geschrieben 18. Dezember 2006 ok, das funtioniert. Nun Lädt der irgendwelche Seiten Wild durcheinander. Alsi uch habe Domain.de - Das Portal rund um Domains für die offizielle Seite und /test als Experimatier-Verzeichnis. Ihrgenwie lädt der die Menüdateien von offiziellen in der testumgebung... Naja Zitieren
philipp-schoene Geschrieben 30. Dezember 2006 Autor Geschrieben 30. Dezember 2006 Ist es leicht so zu gestalten, dass man das Script mit <form action="kontakt/kontakt.php" method="post"> aufrufen kann? Ich habe nämlich alle include-Dateien in htm-Form... Zitieren
Jhonny Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 Hallo, Ein frohes neues Jahr wünsch ich euch allen erstmal! So nun zum Problem: Die Überprüfung bzw. die Statusmeldeung ob die E-Mail erfolgreich versandt wurde ist ganz einfach zu realisieren Die Zeile : mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom) or die("Die Mail konnte nicht versendet werden."); ersetzt du durch if mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom) or die("Die Mail konnte nicht versendet werden.")) { echo "Die Mail wurde erfolgreich verschickt <a href=\"weiter.html\">Weiter</a>"; } else { echo "Sorry, Die Mail konnte nicht verschickt werden; } Der rest deiner Fragen wurde ja schon beantwortet oder nicht?:confused: Zitieren
philipp-schoene Geschrieben 5. Januar 2007 Autor Geschrieben 5. Januar 2007 ich habe die Zeilen ausgetauscht. Nur meldet er nun einen Fehler, den ich nicht finde: "Parse error: syntax error, unexpected T_STRING, expecting '(' in /mnt/jd1/07/335/00000016/htdocs/test/kontakt/kontakt.php on line 52" Zeile 52 ist hier die oberste Zeile if mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom) or die("Die Mail konnte nicht versendet werden.") { echo "Die Mail wurde erfolgreich verschickt <a href=\"weiter.html\">Weiter</a>"; } else { echo "Sorry, Die Mail konnte nicht verschickt werden; }[/PHP] Zitieren
Jhonny Geschrieben 5. Januar 2007 Geschrieben 5. Januar 2007 moin wenn du if benutzt dann muss das so aussehen if (mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom) or die("Die Mail konnte nicht versendet werden.")) { ... } [/PHP] Ich hab in meinem vorherigen Beitrag wohl in der Eile die erste ( vergessen :beagolisc mfg John Pierre Haase Zitieren
robotto7831a Geschrieben 5. Januar 2007 Geschrieben 5. Januar 2007 Und hier fehlt hinten die Anführungszeichen. { echo "Sorry, Die Mail konnte nicht verschickt werden"; } Frank Zitieren
philipp-schoene Geschrieben 7. Januar 2007 Autor Geschrieben 7. Januar 2007 Habe die beiden Fehler nun korrigiert. nun kommt die nächste Fehlermeldung: Parse error: syntax error, unexpected $end in /mnt/jd1/07/335/00000016/htdocs/test/kontakt/kontakt.php on line 61 die Zeile ist die Zeie, in der nach dem "?>" der Zeilenumbruck kommt. Ich denke, dass ihr den kompletten Code braucht. wegen der Unübersichtlichkeit möchte ich den nur posten, wenn der auch wirklich bebraucht wird. Zitieren
robotto7831a Geschrieben 7. Januar 2007 Geschrieben 7. Januar 2007 Genau so ist es. Poste mal 5-6 Zeilen vor und nach der Zeile 61 hier. Du kannst den Fehler auch selber finden, indem Du alles auf Kommentar setzt und nach und nach wieder Blöcke rein nimmst. Dann kannst Du den Fehler eingrenzen und dir die entsprechende Zeile anschauen. Frank Zitieren
philipp-schoene Geschrieben 7. Januar 2007 Autor Geschrieben 7. Januar 2007 } if (mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom) or die("Die Mail konnte nicht versendet werden.")) { echo "Die Mail wurde erfolgreich verschickt <a href=\"weiter.html\">Weiter</a>"; } else { echo "Sorry, Die Mail konnte nicht verschickt werden"; } Zeile 60: ?>[/PHP] Danach kommt ka nichts mehr. Ob 60 oder 61, kann durch mehrmaliges probieren variist habe. Gemeldet wurde immer die letzte Zeile. Zitieren
robotto7831a Geschrieben 7. Januar 2007 Geschrieben 7. Januar 2007 Ist der Fehler weg wenn Du das ganze if-else Konstrukt auskommentierst? Frank Zitieren
Aiun Geschrieben 7. Januar 2007 Geschrieben 7. Januar 2007 das or die(...) muss weg. ich empfehle dir dringend dir PHP Grundlagen anzusehen, wenn du da drin rumcoden willst. Es ist nicht sehr sinnvoll wärend der Entwicklung für jeden Parserfehler fragen zu müssen, bzw. das im Forum zu stellen. Nicht das du nicht fragen solltest, aber so ein Debugging kann lange dauern und komplex werden. Zitieren
philipp-schoene Geschrieben 7. Januar 2007 Autor Geschrieben 7. Januar 2007 zu palvoelgyi: Nein. Ich weiß auch nicht, was ich noch alle proieren soll. zu Aiun: Ich bin ja dabei zu lernen. (Man lernt sowieso sein Leben lang) Nur wollte ich meine sache etwas beschleunigen um voranzukommen. Sonst verliert man auch die Lust daran. Ich habe das "or die(...)" wegemacht. Der Fehler ist immer noch da. Soll ich doch mal den ganzen aktuellen Code dranhängen? Zitieren
robotto7831a Geschrieben 7. Januar 2007 Geschrieben 7. Januar 2007 Wenn der Fehler nicht weg ist wenn Du ab dem If alles auskommentierst dann ist der Fehler weiter oben zu suchen. Wie schon gesagt alles auskommentieren (aber wirklich alles) und dann nach und nach wieder reinnehmen bis der Fehler wieder kommt. Frank Zitieren
philipp-schoene Geschrieben 23. Januar 2007 Autor Geschrieben 23. Januar 2007 Also Fehlermeldung erhalte ich keine mehr. Nun ist es so, dass nach dem absenden das Browserfenster weiß wird und nichts passiert. Zitieren
robotto7831a Geschrieben 23. Januar 2007 Geschrieben 23. Januar 2007 nach dem absenden das Browserfenster weiß wird und nichts passiert. Meine Glaskugel ist kaputt. Frank Zitieren
philipp-schoene Geschrieben 23. Januar 2007 Autor Geschrieben 23. Januar 2007 Meine auch. Eigentlich soll doch eine Ereignismeldung und eine Email abgeschickt werden. (Siehe vorherige Beiträge) Zitieren
robotto7831a Geschrieben 24. Januar 2007 Geschrieben 24. Januar 2007 Da aber keiner eine Ahnung hat wie dein Quellcode nach deiner Fehlersuche aussieht, kann dir auch keiner helfen. Frank Zitieren
Shadowman Geschrieben 24. Januar 2007 Geschrieben 24. Januar 2007 poste bitte nochmal den kompletten quellcode...du hast irgendwo oberhalb eine } vergessen...übrigends...das or die kannst du weg machen, da du ja schon dadrunter die abfrage machst, ob es klappt oder nicht und dann eine doppelte ausgabe bei einem fehler hättest Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.