Formmail

X-Files

Aktives Mitglied
Hallo zusammen

Ich bin ein extrem Anfänger auf dem Gebiet von PHP, habe gerade einmal etwas Begriff ahnung und sonst ein wenig. (was das PHP-Handbuch in 12 Kapiteln beschreibt). Nun möchte ich aber gerne ein Kontaktformular mit PHP in meine Seite einbinden. Dazu bin ich mal auf Script Suche gegangen und habe versucht das ganze anzupassen funktioniert aber nicht.

Die Idee ist, dass jemand ein Kontaktformular ausfüllt und dieses dann an mich geschickt wird. Mit Absender und Betreff, Datum.....Und beim erfolgreichen schicken sollte sich wieder die ursprüngliche Seite laden und bei einem Fehler z.B die Seite Fehler.html

Weiss jemand von euch ein gutes Script was nicht zu schwer ist?

Hier einmal der Quelltext den ich versucht habe, es gibt aber ab dem arrayelement dat1 text aus, also die ganze Formel von da an wird aufgelistet. (ab dem fettmarkiertem im Quelltext)

CODE <?php

$email_from = '$_post["email_from"]'; //Absender falls keiner angegeben wurde
$sendermail_antwort = 1; //E-Mail Adresse des Besuchers als Absender. 0= Nein&#59; 1 = Ja
$name_von_emailfeld = "Email"; //Feld in der die Absenderadresse steht


//$send_dat ist ein mehrdimensionales Array, in dem zuerst die Empfängeradresse steht,
//dann die CC-Adresse, dann der Betreff und dann die URL, auf die der Besucher weitergeleitet
//wird, wenn die Mail gesendet wurde und zum Schluss die URL, auf die der Besucher weitergeleitet
//wird, wenn ein Fehler beim senden auftrat
$send_dat = array(

"dat1" => [B]array[/B]("marco.amd@bluewin.ch", "mapleducks@bluemail.ch", "Anfrageformular","Formular.html", "Fehler.html"),

"dat2" => array("marco.amd@bluewin.ch", "mapleducks@bluemail.ch", "Anfrageformular","Formular.html", "Fehler.html"),

);


//Diese Felder werden nicht in der Mail stehen
$ignore_fields = array('send_index','Submit','senden_y');

//Hier wird ausgehwählt, welcher "Datensatz" aus $send_dat die Mail bekommt
$send_index = $HTTP_POST_VARS['send_index'];

//Wenn kein send_index gesetzt wurde, bekommt der 1 Datensatz die Mail
if ($send_index!="")
{
$st="$send_index";
}
else
{
$st="dat1";
}


$mailto = $send_dat[$st][0]; //An diese Adresse geht die Email
$mail_cc = $send_dat[$st][1]; //Das ist der CC-Empfänger
$subject = $send_dat[$st][2]; //Betreff der Mail





//Datum, wann die Mail erstellt wurde
$name_tag[0] = "Sonntag";
$name_tag[1] = "Montag";
$name_tag[2] = "Dienstag";
$name_tag[3] = "Mittwoch";
$name_tag[4] = "Donnerstag";
$name_tag[5] = "Freitag";
$name_tag[6] = "Samstag";
$num_tag = date( "w");
$tag =$name_tag[$num_tag];
$jahr = date( "Y");
$n = date( "d");
$monat = date( "m");
$time = (date("H:i"));

//Erste Zeile unserer Email
$msg = ">> Gesendet am $tag, den $n.$monat.$jahr - $time Uhr <<<br><br>";

//Hier werden alle Eingabefelder abgefragt
while (list($_post["name"],$_post["value"]) = each($HTTP_POST_VARS))
{
if (in_array($_post["name"], $ignore_fields))
{
continue; //Ingnore Feld wird nicht in die Mail eingefügt
}
$msg .= ">> $_post["name"] << <br>$_post["value"]<br><br>";
}

$msg = str_replace("<br>", "\n", $msg);
$msg = stripslashes($msg);

//E-Mail Adresse des Besuchers als Absender
if ($sendermail_antwort==1 and isset($HTTP_POST_VARS["$name_von_emailfeld"]))
{
$email_from = $HTTP_POST_VARS["$name_von_emailfeld"];
}

$header="From: $email_from";


if (!empty($mail_cc))
{
$header .= "\n";
$header .= "Cc: $mail_cc";
}



$mail_senden = mail ($mailto,$subject,$msg,$header);

//Weiterleitung, hier konnte jetzt per echo auch Ausgaben stehen
if($mail_senden == true)
{
Header("".$send_dat[$st][3]); //Mail wurde gesendet
}
else
{
Header("".$send_dat[$st][4]); //Fehler beim Senden
}
?>
 
CODE "dat1" => [B]array[/B]("marco.amd@bluewin.ch", "mapleducks@bluemail.ch", "Anfrageformular","Formular.html", "Fehler.html"),


also das um das array ist garantiert falsch. was soll das sein? forums-code für bold? woher soll das kommen?
 
*g* dachte das zeigt es an, hab ich ja geschrieben ab da an wird nur text gezeigt, im Quelltext hab ich das natürlich nicht drin....
 
das kapier ich jetzt nicht richtig. bitte kürz deinen code mal auf die essentiellen zeilen. so ist das zu wenig überschaubar.
 
Ich habs auch aufgegeben, weil ichs nicht überschaut habe, was du eigentlich machen willst. Ausserdem keine Emails posten, wg Spamrobots.
 
Zurück
Oben