Formmailer erweitern durch Auswahl
Von: , 27.09.2011 08:18 Uhr
Hallo Ihr alle....
folgendes ich habe ein Formmailer der ganz gut funktioniert - also so wie er auch soll. Nun ist es so dass der Formmailer nur für ein empfänger gedacht ist und nicht für mehrere. Der Jenige der eine Mail schreiben will über diesen Formmailer, soll die Möglichkeit erhalten über ein Drap&Drop Feld oder ähnliches den Empfänger auswählen zu können. Wie realisiere ich dies?
Unten ist der PHP-Code vom aktuellen Stand des Formmailers. Ich sage auch hiermit schon mal DANKE.
<?php
// *** Einstellungen ***
$mail_to ='[E-Mail-Adresse entfernt]'; // Mailadresse (Empfängeradresse)
// #############################################################################
$from_name=GetParam('fromname');
$from_mail=strtolower(GetParam('frommail'));
$mail_subject=GetParam('mailsubject');
$mail_text=GetParam('mailtext');
$send=GetParam('s');
$err_text='';
if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
if(trim($from_mail)=='')
$err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
else
if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)[E-Mail-Adresse entfernt]
$err_text.='Bitte geben Sie eine gültige E-Mail-Adresse an.<br>';
if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
if(trim($mail_text)=='') $err_text.='Bitte geben Sie einen Nachrichtentext ein.<br>';
// *** Zu langen Text abschneiden ***
if(strlen($mail_text)>4500) {
$mail_text=substr($mail_text,0,4500).'... (Text wurde gekürzt!)';
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);
if (($send == '1') && ($err_text != '')) {
echo '<p><big>Fehler:</big><br>';
echo $err_text.'</p>';
}
if (($send != '1') || ($err_text != '')) {
?>
<form action="<?=GetParam('PHP_SELF','S')?>" method="post">
<table border=0 cellspacing=2 cellpadding=0 width=100%>
<tr><td nowrap align=right>Ihr Name:</td><td> </td>
<td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td></tr>
<tr><td nowrap align=right>Ihre E-Mail-Adresse:</td><td></td>
<td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td></tr>
<tr><td nowrap align=right>Betreff:</td><td></td>
<td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?=$mail_subject?>"></td></tr>
<tr><td nowrap align=right valign=top>Text:<br>
(max. 4.500 Zeichen)</td>
<td></td>
<td width=100%><textarea cols=40 rows=10 name="mailtext"><?=$mail_text?></textarea></td></tr>
<tr><td></td><td></td><td>
<input type="hidden" value="1" name="s">
<input type="submit" value="Nachricht versenden" name="submit">
</td></tr>
</table>
</form>
<?php
} else {
$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.="X-Mailer: PHP-ContactForm-Script\n";
$header.="Content-type: text/plain; charset=UTF-8\n";
$mail_date=gmdate('D, d M Y H:i:s').' +0000';
$send=0;
if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p>Die Nachricht wurde erfolgreich abgesendet.</p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}
}
function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
if ($Method == 'P') {
if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
} else if ($Method == 'G') {
if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
} else if ($Method == 'S') {
if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
}
}
?></p>
