Hallo zusammen
bin völlig neu hier und auch ein ziemlicher php-Anfänger.
Bin seit Tagen am "googeln" und hab nichts brauchbares gefunden. Einige Interessante Ansätze aber nichts funzt.
Ich habe ein Kontaktformular (html), die Daten werden an mailer.php übermittelt und auch an die festgelegte E-Mail-Adresse verschickt.
Nun kommt das eigentliche Problem.
Ich habe im Formular drei RadioButton eingebaut, wo der User wählen muss an wen von den dreien er die Nachricht schicken will.
Hier mein Kontakformular (wobei das Problem sicherlich nicht hier ist)
Hier der Code von mailer.php
Dieser Script funktioniert, wie Ihr seht ist $mymail fest vergeben. Wie kann ich nun entsprechend des gesetzten RadioButtons hier die entsprechende Mail-Adresse automatisch einsetzen lassen.
Bereits versucht:
1. $mymail = $_POST['anwen'] -> ging nicht (Error HTTP 500)
(im Formular Value=richtige E-Mail-Adresse)
2. if ($_POST['anwen'] == "persa")
{$mymail = 'persa@domain.com';} -> ging auch nicht (Error 500)
Kann mir hierzu jemand helfen.
Danke und Gruss
nemonet
bin völlig neu hier und auch ein ziemlicher php-Anfänger.
Bin seit Tagen am "googeln" und hab nichts brauchbares gefunden. Einige Interessante Ansätze aber nichts funzt.
Ich habe ein Kontaktformular (html), die Daten werden an mailer.php übermittelt und auch an die festgelegte E-Mail-Adresse verschickt.
Nun kommt das eigentliche Problem.
Ich habe im Formular drei RadioButton eingebaut, wo der User wählen muss an wen von den dreien er die Nachricht schicken will.
Hier mein Kontakformular (wobei das Problem sicherlich nicht hier ist)
HTML-Code:
<form id="contactform" method="post" action="mailer.php"> <table width="600" border="0" style="color:#FFC; font-size:14px;" align="center" > <tr> <td> </td> <td><strong> 1.Name: </strong></td> <td> <input type="text" name="vorName" id="vorName" size="30"></td> <td> </td> </tr> <tr> <td><div align="center">*</div></td> <td><strong> Surname: </strong></td> <td><span id="sprytextfield1"> <input type="text" name="nachName" id="nachName" size="30"><br> <span class="textfieldRequiredMsg">A name must be given.</span></span></td> <td> </td> </tr> <tr> <td><div align="center">*</div></td> <td><strong> E-Mail: </strong></td> <td> <span id="sprytextfield2"> <input type="text" name="eMail" id="eMail" size="30"><br> <span class="textfieldRequiredMsg">Please enter your E-Mail-Adress.</span><span class="textfieldInvalidFormatMsg">Incorect format.</span></span></td> <td class="normal"> zB:yourName@domain.com </td> </tr> <tr> <td><div align="center">*</div></td> <td><strong> Subject: </strong></td> <td> <span id="sprytextfield3"> <input type="text" name="betreff" id="betreff" size="40"><br> <span class="textfieldRequiredMsg">Please enter a titel.</span></span></td> <td class="normal">About what it is ?</td> </tr> <tr> <td><div align="center">*</div></td> <td><strong> Message: </strong></td> <td> <textarea name="nachricht" id="nachricht" cols="40" rows="10"></textarea></td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td><img src="captcha.php" alt="Sicherheitscode" title="Security code" width="140" height="40" /></td> <td> </td> </tr> <tr> <td><div align="center">*</div></td> <td><strong>Code:</strong></td> <td><input name="sicherheitscode" id="sicherheitscode" type="text" width="60" /></td> <td class="normal">Enter the Security code </td> </tr> <tr> <td> </td> <td> </td> <td><p><br /><span id="spryradio1"> <label> <input type="radio" name="anwen" value="persa" id="anwen" /> Person A</label> <label> <input type="radio" name="anwen" value="persb" id="anwen" /> Person B</label> <label> <input type="radio" name="anwen" value="persc" id="anwen" /> Person C</label><br /> <span class="radioRequiredMsg">Select for who is it.</span></span> </p></td> <td>For who?</td> </tr> <tr> <td> </td> <td> </td> <td><div align="center"> <input name="submit" type="submit" value="Send" /> </div></td> <td> </td> </table> </form>
Dieser Script funktioniert, wie Ihr seht ist $mymail fest vergeben. Wie kann ich nun entsprechend des gesetzten RadioButtons hier die entsprechende Mail-Adresse automatisch einsetzen lassen.
PHP-Code:
<?php
session_start();
$mymail = 'name@domain.com';
if (isset($_POST['submit']) and ($_POST["sicherheitscode"] == $_SESSION['captcha_code']))
{
$vname = $_POST['vorName'];
$name = $_POST['nachName'];
$email = $_POST['eMail'];
$subject = $_POST['betreff'];
$message = $_POST['nachricht'];
// Template mit dem Mailbody laden und für den Versand vorbereiten
$mailbody = file_get_contents( 'mailbody.txt' );
// Platzhalter mit den Benutzereingaben ersetzen
$mailbody = str_replace( '###VNAME###', htmlspecialchars( $vname ), $mailbody );
$mailbody = str_replace( '###NAME###', htmlspecialchars( $name ), $mailbody );
$mailbody = str_replace( '###EMAIL###', $email, $mailbody );
$mailbody = str_replace( '###NACHRICHT###', nl2br( htmlspecialchars( $message ) ), $mailbody );
// Mail Header erstellen
$headers = "From:Kontakt Formular <" .$mymail. ">\r\n";
$headers .= "Reply-To: " .$vname. " " .$name. " <" .$email. ">\r\n";
$headers .= "Return-Path: 'name@domain.com'\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= "X-Mailer: PHP v" .phpversion(). "\r\n\r\n";
// Email versenden
if (@mail( $mymail, htmlspecialchars( $subject ), $mailbody, $headers ))
{
// Bei erfolgreichem Versand Danke-Seite anzeigen
echo 'Their message was sent to me, many thanks!';
} else {
echo 'E-mail traffic does not function at the moment! Please try later';
}
} else {
echo 'Message was not sent, security code was wrong!! You try once again';
}
?>
1. $mymail = $_POST['anwen'] -> ging nicht (Error HTTP 500)
(im Formular Value=richtige E-Mail-Adresse)
2. if ($_POST['anwen'] == "persa")
{$mymail = 'persa@domain.com';} -> ging auch nicht (Error 500)
Kann mir hierzu jemand helfen.
Danke und Gruss
nemonet
Kommentar