jjsn1988
Goto Top

HTML Formular mit Hilfe von PHP an meine Email versenden

Danke im Vorraus

Ich hab ein html Formular und möchte das mit hilfe von php an meine email versenden aber geht nicht so wie ich will
hier mal die form html code:
<form method="post" action="kontakttest.php">  
         <table border="0">  
                 <tr>
                         <td>Anrede:</td>
                         <td>
                                 Herr: <input type="radio" value="Herr" name="anrede">  
                                 Frau: <input type="radio" value="Frau" name="anrede">  
                         </td>
                 </tr>
                 <tr>
                         <td>Vorname</td>
                         <td><input type="text" name="name"></td>  
                 </tr>
                 <tr>
                         <td>Nachame</td>
                         <td><input type="text" name="nachname"></td>  
                 </tr>
                 <tr>
                         <td>Email</td>
                         <td><input type="text" name="mail"></td>  
                 </tr>
                 <tr>
                         <td>Ihre Nachricht an uns:</td>
                         <td><textarea colign="25" rowgn="15"></textarea></td>  
                 </tr>
                  <tr>
                         <td></td>
                         <td><input type="submit" value="abschicken!!!"><input type="reset" value="Löschen!!!"></td>  
                 </tr>
         </table>
         </form>
und hier die php code:
<?php
                 $anrede = $_REQUEST [`anrede`];
                 $name = $_REQUEST [`nachname`];
                 $vorname = $_REQUEST [`name`];
                 $mail = $_REQUEST [`mail`];
                 $nachricht = $_REQUEST [`nachricht`];

                 $empfänger = "XXXXXXX@spi-herrmann.com";  
                 $absender = $mail;

                 $betreffwebmaster = "Kontaktanfrage ($name $nachname)";  
                 $koerperwebmaster = "$name $nachname hat &uuml; die Webseite spi-herrmann.com eine Kontaktangfrage gesendet.".  
                 "\n\n  
                 Kontaktdaten: \n
                 \tName: $anrede $name $nachname   \n
                 \teMail: $mail \n
                 \tNachricht: $nachricht \n"  
                 ;

                 $abgesandt = "<h1>Kontaktbest&auml;tigung</h1> <p>Vielen Dank für ihre Kontaktanfrage <br><br> </p>";  

                 mail ("$empfänger","$betreffwebmaster","$koerperwebmaster\n","FROM: $absender \n");  
                 echo $abgesandt;
       ?>
Also er sendet mir die mail aber so
jensch hat &uuml; die Webseite spi-herrmann.com eine Kontaktangfrage gesendet.


Kontaktdaten:

Name: xxxx(nur den nachnamen)

eMail:

Nachricht:

Danke für eure hilfe
Kommentar vom Moderator masterG am Jun 20, 2012 um 13:35:15 Uhr
bitte, bitte, bitte Formatierungshilfe verwenden ;)

Content-Key: 186762

Url: https://administrator.de/contentid/186762

Printed on: April 20, 2024 at 03:04 o'clock

Member: nxclass
nxclass Jun 20, 2012 updated at 10:37:25 (UTC)
Goto Top
$koerperwebmaster
... face-big-smile

Dein Problem sind also die Zeilenumbrüche ? ... mit "" machst Du bei einer neuen Zeile schon einen Zeilenumbruch, da brauchst du kein \n mehr.

$koerperwebmaster = <<<__TEXT__
$name $nachname hat über die Webseite spi-herrmann.com eine Kontaktangfrage gesendet.

Kontaktdaten:
    Name: $anrede $name $nachname
    Mail: $mail
    Nachricht: $nachricht
__TEXT__;
Member: chrizl
chrizl Jun 20, 2012 at 11:09:15 (UTC)
Goto Top
Also dein Problem liegt sehr warscheinlich daran, dass du die Variablen falsch überschreibst.

Mach mal anstelle von einem ` ein '.
Das wäre zumindest die richtige Schreibweise im PHP-Code.


Als nächstes würde ich dir empfehlen, anstelle von $_REQUEST $_POST zu verwenden.
Damit verhinderst du, dass dir jemand irgendwelche Parameter frei mit übergeben kann. Zumindest über die URL.

Und dann probier das alles bitte noch einmal aus.


Dass der dir den Nachnamen überträgt liegt daran, weil du die Variable $nachname nicht erneut überschreibst.
Member: nxclass
nxclass Jun 20, 2012 at 11:13:57 (UTC)
Goto Top
Dass der dir den Nachnamen überträgt liegt daran, weil du die Variable $nachname nicht erneut überschreibst.
.. stimmt fasst:
$name = $_REQUEST [`nachname`];
$vorname = $_REQUEST [`name`];
... und $vorname wird nirgends mehr benutzt.
somit:
$nachname = $_REQUEST ['nachname'];  
$name = $_REQUEST ['name'];  
Member: chrizl
chrizl Jun 20, 2012 at 12:49:18 (UTC)
Goto Top
Genau das meinte ich face-smile

Zumindest sollte man die Variablen richtig zuordnen.
Member: jjsn1988
jjsn1988 Jun 21, 2012 at 09:14:52 (UTC)
Goto Top
Danke für die Tipps jetzt zeigt er die Anrede Vorname Nachname und die Email adresse aber die Nachricht die ich schreibe noch nicht
Member: jjsn1988
jjsn1988 Jun 21, 2012 updated at 09:22:38 (UTC)
Goto Top
nein das er mir die Nachricht die ich schreibe in das formular nicht schreibt in die email die er verschickt

hier nochmal die teile die ich denke interessant sind erstmal html datei:
<tr>
<td>Ihre Nachricht an uns:</td>
<td><textarea colign="25" rowgn="15" name="nachricht" ></textarea></td>
</tr>

und jetzt hier die php datei

<?php
$anrede = $_POST ['anrede'];
$nachname = $_POST ['nachname'];
$name = $_POST ['name'];
$mail = $_POST ['mail'];
$nachricht = $_POST ['nachricht'];

$empfänger = "xxxx@spi-herrmann.com";
$absender = $mail;

$betreffwebmaster = "Kontaktanfrage ($name $nachname)";
$koerperwebmaster = "$name $nachname hat Über die Webseite spi-herrmann.com eine Kontaktangfrage gesendet.".
"\n\n
Kontaktdaten: \n
\tName: $anrede $name $nachname \n
\teMail: $mail \n
\tNachricht: $nachricht "
;

$abgesandt = "<h1>Kontaktbest&auml;tigung</h1> <p>Vielen Dank für ihre Kontaktanfrage <br><br> </p>";

mail ("$empfänger","$betreffwebmaster","$koerperwebmaster\n","FROM: $absender \n");
echo $abgesandt;
?>
Member: chrizl
chrizl Jun 21, 2012 at 09:40:46 (UTC)
Goto Top
Kleinigkeit noch nebenbei:

ÄÖÜ und Co. niemals im Script benutzen.

Das sind Sonderzeichen und im englischen gibt es sowas nicht.
Sprich, PHP wird dir die sehr warscheinlich auch nicht richtig ausgeben.


Gib doch mal auf deiner Scriptseite, also die kontakttest.php die Nachricht aus.
echo $nachricht;
Wird die da richtig angezeigt?
Member: jjsn1988
jjsn1988 Jun 21, 2012 at 10:29:32 (UTC)
Goto Top
ja er gibt mir die NAchricht aus
und in der email schreibt er es auch jetzt
Member: nxclass
nxclass Jun 21, 2012 at 18:52:46 (UTC)
Goto Top
ja er gibt mir die NAchricht aus und in der email schreibt er es auch jetzt
... sehr gut.

Hat hier jemand eigentlich schon Cross-Site-Scripting erwähnt ?