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 20.06.2012 um 15:35:15 Uhr
bitte, bitte, bitte Formatierungshilfe verwenden ;)

Content-ID: 186762

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

Ausgedruckt am: 26.11.2024 um 06:11 Uhr

nxclass
nxclass 20.06.2012 aktualisiert um 12:37:25 Uhr
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__;
chrizl
chrizl 20.06.2012 um 13:09:15 Uhr
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.
nxclass
nxclass 20.06.2012 um 13:13:57 Uhr
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'];  
chrizl
chrizl 20.06.2012 um 14:49:18 Uhr
Goto Top
Genau das meinte ich face-smile

Zumindest sollte man die Variablen richtig zuordnen.
jjsn1988
jjsn1988 21.06.2012 um 11:14:52 Uhr
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
jjsn1988
jjsn1988 21.06.2012 aktualisiert um 11:22:38 Uhr
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;
?>
chrizl
chrizl 21.06.2012 um 11:40:46 Uhr
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?
jjsn1988
jjsn1988 21.06.2012 um 12:29:32 Uhr
Goto Top
ja er gibt mir die NAchricht aus
und in der email schreibt er es auch jetzt
nxclass
nxclass 21.06.2012 um 20:52:46 Uhr
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 ?