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; 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
}
?>
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; 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
}
?>