[GastForen Programmierung/Entwicklung PHP und MySQL Email über Formular

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Email über Formular

Moma
Beiträge gesamt: 7

8. Jan 2008, 00:40
Beitrag # 1 von 6
Bewertung:
(2435 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
War hier schon lange nicht mehr online (der Benutzername funktioniert irgendwie nicht mehr), aber man hat mir immer super mit GoLive Problemen geholfen!

Nun hab ich ein Problem mit php! Ich muss fairerweise sagen, dass ich zuwenig Ahnung von php habe, um mir selber etwas zu programmieren... Mit viel Glück kann ich bestehende Skripts auf meine Bedürfnisse anpassen, an was ich heute aber gescheitert bin... Hier also mein Problem:

Habe mir nach einem Tutorial ein Kontaktformular erstellt. Es hat zwei Dateien, zum einen "index.html", in welcher das Formular enthalten ist und zum anderen "mail.php", was das Formular als Email verschickt!
Die Pflichtfeldprüfung ist über Java gelöst... soweit so gut!

Leider ist das Mail, welches das Formular verschickt nicht ganz nach meinen Vorstellungen... irgendwie wird die Emailadresse, welche der Nutzer eingibt nicht erkannt... dadurch bleibt der Absender leer und auch die Kopie des Formulares an den Benutzer wird nicht versendet...

Habe schon einiges ausprobiert und es jetzt immer noch nicht zum laufen gebracht... vielleicht kann mir jemand von euch helfen?

Hier noch die ganzen Codes:

Code von index.html (Formular):
Code
<form id="Kontaktformular" action="mail.php" method="post" name="Kontaktformular" onsubmit="return chkFormular()" onreset="return ResetCheck()"> 
<table width="402" border="0" cellspacing="2" cellpadding="0">
<tr>
<td colspan="4" width="398">Betreff</td>
</tr>
<tr>
<td width="19"><input type="checkbox" name="Beratung" value="Erw&uuml;nscht" tabindex="1"></td>
<td width="144">Beratung</td>
<td width="20"><input type="checkbox" name="Anbau" value="Erw&uuml;nscht"></td>
<td width="209">Anbau</td>
</tr>
<tr>
<td width="19"><input type="checkbox" name="Offerte" value="Erw&uuml;nscht"></td>
<td width="144">Offerte</td>
<td width="20"><input type="checkbox" name="Terrassen" value="Erw&uuml;nscht"></td>
<td width="209">Terrassen</td>
</tr>
<tr>
<td width="19"><input type="checkbox" name="Elementbau" value="Erw&uuml;nscht"></td>
<td width="144">Elementbau</td>
<td width="20"><input type="checkbox" name="Termin" value="Erw&uuml;nscht"></td>
<td width="209">Bitte um Termin</td>
</tr>
<tr>
<td width="19"><input type="checkbox" name="Umbau" value="Erw&uuml;nscht"></td>
<td width="144">Umbau</td>
<td width="20"><input type="checkbox" name="Anderes" value="Erw&uuml;nscht"></td>
<td width="209">Anderes</td>
</tr>
<tr>
<td width="19"></td>
<td width="144"></td>
<td width="20"></td>
<td width="209"></td>
</tr>
</table>
<hr align="left" noshade size="1" width="400">
<table width="285" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="100">Firma</td>
<td><input type="text" name="Firma" size="24"></td>
</tr>
<tr>
<td width="100"><font color="#008c65"><b>Name</b></font></td>
<td><input type="text" name="Name" size="24"></td>
</tr>
<tr>
<td width="100">Strasse</td>
<td><input type="text" name="Strasse" size="24"></td>
</tr>
<tr>
<td width="100">Plz/Ort</td>
<td><input type="text" name="PLZ/Ort" size="24"></td>
</tr>
<tr>
<td width="100">Telefon</td>
<td><input type="text" name="Telefon" size="24"></td>
</tr>
<tr>
<td width="100"><font color="#008c65"><b>Email</b></font></td>
<td><input type="text" name="Mail" value="" size="24"></td>
</tr>
</table>
<div align="left">
<hr align="left" noshade size="1" width="400">
</div>
<table width="407" border="0" cellspacing="2" cellpadding="0">
<tr>
<td valign="top" width="100"><font color="#008c65"><b>Mitteilung</b></font></td>
<td><textarea name="Mitteilung" rows="4" cols="40"></textarea></td>
</tr>
<tr>
<td width="100">Bitte um R&uuml;ckruf</td>
<td><input type="checkbox" name="Rückruf" value="Erw&uuml;nscht"></td>
</tr>
</table>
<hr align="left" noshade size="1" width="400">
<table width="341" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="100"><font size="-3" color="#008c65">Pflichtfelder</font></td>
<td width="87"><input type="submit" name="Senden" value="Senden"></td>
<td><input type="reset" value="Zur&uuml;cksetzen" tabindex="1"></td>
</tr>
</table>
</form>


Code von [b]mail.php:
Code
<?php 

$admin= '[email protected]';

$subject= 'Kontaktanfrage über Homepage';

$subject2= 'Anfrage an xyz';

$message= 'Nachrichten an '.$admin.' von '.$Mail.":\n\n";

foreach($HTTP_POST_VARS as $name=> $value) {

$message.= "$name:$value\n";

}

mail($admin, $subject, $message, "From: $Mail");

mail($Mail, $subject2, $message, "From: $admin");


header('Location: http://www.xyz.xy/kontakt/danke.html');

?>


Hier die Email, die ich erhalte:
Code
Nachrichten an [email protected] von : 

Beratung:Erwünscht
Elementbau:Erwünscht
Firma:
Name:Max Muster
Strasse:
PLZ/Ort:
Telefon:
Mail:[email protected]
Mitteilung:Testnachricht
Rückruf:Erwünscht
Senden:Senden


Das ganze ist auch online:
http://www.xyz.serv/kontakt/index.html


2. Problem ist, dass die "Formatierung" des grossen Textfeldes nicht übernommen wird, kann man das irgendwie einstellen, dass nicht alles aneinander gesendet wird? Also dass z.B. die Absätze erhalten beliben?
Gibt es allgemein eine einfache Möglichkeit, das Antwortmail besser zu Formatieren?

Besten Dank schonmal!!

MfG
Moritz

(Dieser Beitrag wurde von iPartner am 15. Feb 2008, 08:38 geändert)
X

Email über Formular

Intermedia
Beiträge gesamt: 1287

8. Jan 2008, 09:33
Beitrag # 2 von 6
Beitrag ID: #329762
Bewertung:
(2407 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

du verwendest hier völlig veralterte Methoden.

$HTTP_POST_VARS ist älter als die Steinzeit, heutzutage werden POST Variablen so abgefragt: $_POST

http://de.php.net/...served.variables.php

dann sieh dir weiterhin mal die Einstellung register_globals an: http://de.php.net/...security.globals.php

Für Zeilenumbrüche könnte dann noch das weiterhelfen: http://de.php.net/...e/function.nl2br.php

Sollte das nicht reichen, kommt noch eine HTML Mail in Frage.

Dann solltest du dir das auch nochmal ansehen: http://www.hilfdirselbst.ch/..._P215882.html#215882

Hoffe es hilft dir weiter.

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#329731]

Email über Formular

Moma
Beiträge gesamt: 7

8. Jan 2008, 16:21
Beitrag # 3 von 6
Beitrag ID: #329845
Bewertung:
(2388 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Intermedia ] $HTTP_POST_VARS ist älter als die Steinzeit, heutzutage werden POST Variablen so abgefragt: $_POST


Hups, da hab ich wohl was ganz altes ausgegraben :-)

Vielen Dank für die Links, werde mich heute Abend mal einlesen und das ganze nach deinen Vorschlägen versuchen zu lösen!

Besten Dank
MfG
Moritz


als Antwort auf: [#329762]

Email über Formular

Moma
Beiträge gesamt: 7

8. Jan 2008, 21:59
Beitrag # 4 von 6
Beitrag ID: #329901
Bewertung:
(2365 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Edit: So hab grad mein Problem gelöst...

Hier ist nun die von mir verwendete mail.php
Code
<?php 

$admin= '[email protected]'; // Email-Adresse

$more = "From: $_POST[mail]";

$subject="Anfrage aus www.xyz.xyz";

$body="
Anfrage von xyz

*********************************************
Betreff:
$_POST[beratung]
$_POST[offerte]
$_POST[elementbau]
$_POST[umbau]
$_POST[anbau]
$_POST[terrassen]
$_POST[termin]
$_POST[anderes]

*********************************************
Firma: $_POST[fima]
Name: $_POST[name]
Strasse: $_POST[strasse]
Plz/Ort: $_POST[ort]

*********************************************

Telefon: $_POST[telefon]
Email: $_POST[mail]

*********************************************

Mitteilung: $_POST[mitteilung]

*********************************************

$_POST[rueckruf]
";


mail($admin, $subject, $body, $more);


header('Location: http://www.xyz.xyz/kontakt/danke.html');

?>


*stolz* mein erstes selbstgeschribenes PHP-Skript :-D
Funktioniert soweit ich das beurteilen kann ganz gut!

Formatierung des Mails sieht jetzt auch besser aus, also kann ich auf die Zeilenumbrüche verzichten... denke das ist mit ziemlichem Mehraufwand verbunden!

Das mit den register_globals ist etwas kompliziert (oder schaut zumindest so aus), ist das notwendig?

Denke mein Formmailer ist schon ziemlich Spamanfällig... meint ihr da muss ich noch was machen? (Wenn ja, was möglichst einfaches effektives :-D)
Der Link über die Spamsicherheit sieht sehr gut aus, Problem ist das ich bei 90% nur Bahnhof verstehe :-D

Besten Dank nochmal für deine Tipps

MfG
Moritz


als Antwort auf: [#329845]
(Dieser Beitrag wurde von iPartner am 13. Feb 2008, 11:04 geändert)

Email über Formular

Moma
Beiträge gesamt: 7

8. Jan 2008, 22:37
Beitrag # 5 von 6
Beitrag ID: #329907
Bewertung:
(2352 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jep, klappt soweit so gut..

Noch zwei Sachen, die ich mich gefragt hab:

1. Würde es etwas bringen, wenn ich die Emailadresse in der mail.php verschlüssle? Geht sowas? Habe mal was von einer Verschlüsselung über Java gelesen...

2. Währe es auch möglich das Email als HTML zu verschicken? Also einfach den HTML-Code in die mail.php?

MfG
Moritz


als Antwort auf: [#329901]

Email über Formular

Intermedia
Beiträge gesamt: 1287

9. Jan 2008, 08:31
Beitrag # 6 von 6
Beitrag ID: #329937
Bewertung:
(2324 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

also das mit den Zeilenumbrüchen ist nur wirklich das Einfachste. ;-)

z.B.: $meine_var = nl2br($_POST[meinfeld]);

Die E-Mailadresse innerhalb von php zu verschlüsseln ist unsinnig da diese ja beim Versand unverschlüsselt benötigt wird.
Gegenfrage, wer soll denn diese Adresse sehen auf deinem Server? Oder willst du jedem deine ftp Daten geben? ;-))

HTML Mails sind durchaus möglich, wenn du soetwas selber programmieren willst mußt du gute Kenntnisse vom Aufbau von Mails haben.
Es wäre Quatsch das Rad neu zu erfinden. Es gibt da eine gute Klasse die ich selber verwende. Hab den Link jetzt nicht bei der Hand aber google mal nach "phpmailer".
Den Body der Mail mußt du dann als komplette HTML Seite erstellen.

Übrigens Java != Javascript !!! Das ist ein feiner aber gewaltiger Unterschied.
Du meinst bestimmt Javascript.

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#329907]
X

Aktuell

PDF / Print
Wolken_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022