Kontaktformular PHP
Verfasst: 30.06.2010, 16:15
Hallo Ihr Profis,
ich habe ein Problem ich habe ein PHP Kontaktormular welches auf einem Server (Linux) normal läuft, nun möchte ich es auf unseren Windowsserver 2003 64 bit verwenden. PHP habe ich installiert nun sagt er mir beim benutzen folgende fehler aus:
Warning: fread(): supplied argument is not a valid stream resource in C:\xxx on line 251
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xxx on line 268
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xxx 269
Ich habe im sendmail_from die E-Mailadresse eingegeben.
Es klappt leider trotzdem nicht.
Ich würde mich sehr auf eine positive Nachricht freuen.
anbei das komplette Script:
__________________________
<?php
echo '<head>
<title>KONTAKTFORMULAR</title>
</head>';
//Fehlerbehandlung
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$_POST[Mail])){$fehler=1;
echo'<center><font class=text>Die von Ihnen angegebene Mailadresse ist ungültig.</font><br>';}
if($_POST[Nachname]==''){$fehler=1;
echo'<center><font class=text>Sie haben keinen Nachnamen eingegeben.</font><br></center>';}
if($_POST[Telefon]==''){$fehler=1;
echo'<center><font class=text>Sie haben keinen Telefon eingegeben.</font><br></center>';}
/*
if($Ausgangssprache==''){$fehler=1;
echo'<center><font class=text>Sie haben keine Ausgangssprache eingegeben.</font><br></center>';}
if($Zielsprache==''){$fehler=1;
echo'<center><font class=text>Sie haben keine Zielsprache eingegeben.</font><br></center>';}
if($Liefertermin==''){$fehler=1;
echo'<center><font class=text>Sie haben keine Liefertermin eingegeben.</font><br></center>';}
*/
if($fehler==1){echo '<br><a class=link href=javascript:history.back()>Zurück</a>';}
// Erstelle Nachricht
$Nachricht = "$_POST[FormularName] aus dem Formular der Webseite:\r
******************************************* \r
Filiale: $_POST[Filiale] \r
******************************************* \r
Stammdaten des Kunden \r
Anrede: $_POST[Anrede] \r
Name : $_POST[Vorname] $_POST[Nachname] \r
Firma: $_POST[Firma] \r
$_POST[Strasse] $Hausnummer \r
$_POST[PLZ] $_POST[Ort] \r
Telefon: $_POST[Telefon] \r
Telefax: $_POST[Fax] \r
E-Mail: $_POST[Mail] \r
******************************************* \r
$_POST[FormularName]: \r
Fachbereich: $_POST[Fachbereich] \r
Fachkenntnis: $_POST[Fachkenntnis] \r
Ausgangssprache: $_POST[Ausgangssprache] \r
Zielsprache: $_POST[Zielsprache] \r
Liefertermin: $_POST[Liefertermin] gewünschte Uhrzeit: $_POST[Uhrzeit] \r
Dolmetschort: $_POST[DolOrt] \r
******************************************* \r
Firmenunterricht: \r
Firma, Ort: $_POST[FirmenOrt] \r
Datum: $_POST[Datum] \r
Anz. Teilnehmer: $_POST[Teilnehmerzahl] \r
Dauer: $_POST[Dauer] \r
Sprache: $_POST[Sprache] \r
******************************************* \r
Weitere Informationen des Kunden (Beschreibung / Kommentar:) \r
$_POST[Beschreibung] \r
******************************************* \r
\r
+++ Ende der Daten +++ \r ";
// Hier die eMails �berpr�fen
if($_POST[Filiale]=='Bochum'){$Zielmail = '5@web.de'; }
if($_POST[Filiale]=='Hamburg'){$Zielmail = '6@web.de';}
if($_POST[Filiale]=='Kiel'){$Zielmail = '7@web.de';}
if($_POST[Filiale]=='Bremen'){$Zielmail = '8@web.de'; }
if($_POST[Filiale]=='Frankfurt'){$Zielmail = '9@web.de';}
if($_POST[Filiale]=='Madrid'){$Zielmail = "4@web.de'';}
if($_POST[Filiale]=='Muenchen'){$Zielmail = '3@web.de'';}
if($_POST[Filiale]=='Wien'){$Zielmail = '2@web.de'';}
if($_POST[Filiale]=='Duesseldorf'){$Zielmail = '1@web.de';}
//var_dump($_POST);
if($fehler!=1){
//$Zielmail = "4@web.de";
//-- AB JETZT --
$empfaenger = $Zielmail; // Empfänger E-Mail Adresse
$betreff = $_POST[FormularName]." aus dem Internet"; // Betreff
$dateiname = $_FILES['datei']['tmp_name']; // Dateiname
$dateiname_mail = $_FILES['datei']['name'];
$id = md5(uniqid(time()));
$dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname));
// Absender Name und E-Mail Adresse
$kopf = "From: Anfrageformular <".$_POST[Nachname].">\n";
$kopf .= "MIME-Version: 1.0\n";
$kopf .= "Content-Type: multipart/mixed; boundary=$id\n\n";
$kopf .= "This is a multi-part message in MIME format\n";
$kopf .= "--$id\n";
$kopf .= "Content-Type: text/plain\n";
$kopf .= "Content-Transfer-Encoding: 8bit\n\n";
$kopf .= $Nachricht; // Inhalt der E-Mail (Body)
$kopf .= "\n--$id";
// Content-Type: image/gif, image/jpeg, image/png » MIME-Typen - selfHtml.org
$kopf .= "\nContent-Type: ".$_FILES['datei']['type']."; name=$dateiname_mail\n";
$kopf .= "Content-Transfer-Encoding: base64\n";
$kopf .= "Content-Disposition: attachment; filename=$dateiname_mail\n\n";
$kopf .= chunk_split(base64_encode($dateiinhalt));
$kopf .= "\n--$id--";
mail($empfaenger, $betreff, "", $kopf); // E-Mail versenden
mail("anfrage@web.de", $betreff, "", $kopf); // E-Mail versenden
//mail($Zielmail, $_POST[FormularName]." aus dem Internet", $Nachricht ,"From: Anfrageformular <$_POST[Nachname]>");
//-- AB JETZT --
echo'<body>';
echo'<br><br><center><font class=ueber1>Vielen Dank für Ihre Anfrage, wir werden Ihre Anfrage so schnell wie möglich bearbeiten. </br></br> Unternehmen gmbh</font></br></br><center><a class=link href=javascript:history.go(-2)>Zurück</a>';
}
?>
ich habe ein Problem ich habe ein PHP Kontaktormular welches auf einem Server (Linux) normal läuft, nun möchte ich es auf unseren Windowsserver 2003 64 bit verwenden. PHP habe ich installiert nun sagt er mir beim benutzen folgende fehler aus:
Warning: fread(): supplied argument is not a valid stream resource in C:\xxx on line 251
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xxx on line 268
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xxx 269
Ich habe im sendmail_from die E-Mailadresse eingegeben.
Es klappt leider trotzdem nicht.
Ich würde mich sehr auf eine positive Nachricht freuen.
anbei das komplette Script:
__________________________
<?php
echo '<head>
<title>KONTAKTFORMULAR</title>
</head>';
//Fehlerbehandlung
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$_POST[Mail])){$fehler=1;
echo'<center><font class=text>Die von Ihnen angegebene Mailadresse ist ungültig.</font><br>';}
if($_POST[Nachname]==''){$fehler=1;
echo'<center><font class=text>Sie haben keinen Nachnamen eingegeben.</font><br></center>';}
if($_POST[Telefon]==''){$fehler=1;
echo'<center><font class=text>Sie haben keinen Telefon eingegeben.</font><br></center>';}
/*
if($Ausgangssprache==''){$fehler=1;
echo'<center><font class=text>Sie haben keine Ausgangssprache eingegeben.</font><br></center>';}
if($Zielsprache==''){$fehler=1;
echo'<center><font class=text>Sie haben keine Zielsprache eingegeben.</font><br></center>';}
if($Liefertermin==''){$fehler=1;
echo'<center><font class=text>Sie haben keine Liefertermin eingegeben.</font><br></center>';}
*/
if($fehler==1){echo '<br><a class=link href=javascript:history.back()>Zurück</a>';}
// Erstelle Nachricht
$Nachricht = "$_POST[FormularName] aus dem Formular der Webseite:\r
******************************************* \r
Filiale: $_POST[Filiale] \r
******************************************* \r
Stammdaten des Kunden \r
Anrede: $_POST[Anrede] \r
Name : $_POST[Vorname] $_POST[Nachname] \r
Firma: $_POST[Firma] \r
$_POST[Strasse] $Hausnummer \r
$_POST[PLZ] $_POST[Ort] \r
Telefon: $_POST[Telefon] \r
Telefax: $_POST[Fax] \r
E-Mail: $_POST[Mail] \r
******************************************* \r
$_POST[FormularName]: \r
Fachbereich: $_POST[Fachbereich] \r
Fachkenntnis: $_POST[Fachkenntnis] \r
Ausgangssprache: $_POST[Ausgangssprache] \r
Zielsprache: $_POST[Zielsprache] \r
Liefertermin: $_POST[Liefertermin] gewünschte Uhrzeit: $_POST[Uhrzeit] \r
Dolmetschort: $_POST[DolOrt] \r
******************************************* \r
Firmenunterricht: \r
Firma, Ort: $_POST[FirmenOrt] \r
Datum: $_POST[Datum] \r
Anz. Teilnehmer: $_POST[Teilnehmerzahl] \r
Dauer: $_POST[Dauer] \r
Sprache: $_POST[Sprache] \r
******************************************* \r
Weitere Informationen des Kunden (Beschreibung / Kommentar:) \r
$_POST[Beschreibung] \r
******************************************* \r
\r
+++ Ende der Daten +++ \r ";
// Hier die eMails �berpr�fen
if($_POST[Filiale]=='Bochum'){$Zielmail = '5@web.de'; }
if($_POST[Filiale]=='Hamburg'){$Zielmail = '6@web.de';}
if($_POST[Filiale]=='Kiel'){$Zielmail = '7@web.de';}
if($_POST[Filiale]=='Bremen'){$Zielmail = '8@web.de'; }
if($_POST[Filiale]=='Frankfurt'){$Zielmail = '9@web.de';}
if($_POST[Filiale]=='Madrid'){$Zielmail = "4@web.de'';}
if($_POST[Filiale]=='Muenchen'){$Zielmail = '3@web.de'';}
if($_POST[Filiale]=='Wien'){$Zielmail = '2@web.de'';}
if($_POST[Filiale]=='Duesseldorf'){$Zielmail = '1@web.de';}
//var_dump($_POST);
if($fehler!=1){
//$Zielmail = "4@web.de";
//-- AB JETZT --
$empfaenger = $Zielmail; // Empfänger E-Mail Adresse
$betreff = $_POST[FormularName]." aus dem Internet"; // Betreff
$dateiname = $_FILES['datei']['tmp_name']; // Dateiname
$dateiname_mail = $_FILES['datei']['name'];
$id = md5(uniqid(time()));
$dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname));
// Absender Name und E-Mail Adresse
$kopf = "From: Anfrageformular <".$_POST[Nachname].">\n";
$kopf .= "MIME-Version: 1.0\n";
$kopf .= "Content-Type: multipart/mixed; boundary=$id\n\n";
$kopf .= "This is a multi-part message in MIME format\n";
$kopf .= "--$id\n";
$kopf .= "Content-Type: text/plain\n";
$kopf .= "Content-Transfer-Encoding: 8bit\n\n";
$kopf .= $Nachricht; // Inhalt der E-Mail (Body)
$kopf .= "\n--$id";
// Content-Type: image/gif, image/jpeg, image/png » MIME-Typen - selfHtml.org
$kopf .= "\nContent-Type: ".$_FILES['datei']['type']."; name=$dateiname_mail\n";
$kopf .= "Content-Transfer-Encoding: base64\n";
$kopf .= "Content-Disposition: attachment; filename=$dateiname_mail\n\n";
$kopf .= chunk_split(base64_encode($dateiinhalt));
$kopf .= "\n--$id--";
mail($empfaenger, $betreff, "", $kopf); // E-Mail versenden
mail("anfrage@web.de", $betreff, "", $kopf); // E-Mail versenden
//mail($Zielmail, $_POST[FormularName]." aus dem Internet", $Nachricht ,"From: Anfrageformular <$_POST[Nachname]>");
//-- AB JETZT --
echo'<body>';
echo'<br><br><center><font class=ueber1>Vielen Dank für Ihre Anfrage, wir werden Ihre Anfrage so schnell wie möglich bearbeiten. </br></br> Unternehmen gmbh</font></br></br><center><a class=link href=javascript:history.go(-2)>Zurück</a>';
}
?>