registrieren registriertes Mitglied


Anzeige

Anzeige

Kontaktformular PHP

Stell hier Deine Frage zu: HTML, CSS, PHP, MySQL, htaccess, robots.txt, Javascript usw
ProfiSchnell
PostRank 1
PostRank 1
Beiträge: 16
Registriert: 15.07.2009, 10:22

Beitrag ProfiSchnell » 30.06.2010, 16:15 Kontaktformular PHP

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&uuml;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>';
}
?>

Anzeige von:


Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0


Indira-Nova
PostRank 1
PostRank 1
Beiträge: 4
Registriert: 14.04.2019, 16:48

Beitrag Indira-Nova » 14.04.2019, 17:28 Kontaktformular PHP

Hello :))

ich hab da auch ein Problem an dem ich seit Tagen dran bin, nun habe ich mir überlegt mich an euch Profis zu wenden. Ich trage da meine Email (von Webseite) ein, und online gibts immer den Fehler an "das die contactform.php" nicht konfiguriert ist. Server unterstützt php und Version 7

Ich kopier da mal den original Code ein evtl weiss Jemand von euch was da genau eingegeben werden muss das es auch funkioniert:

<?php
/*
PHP contact form script
Version: 1.1
Copyrights BootstrapMade.com
*/

/***************** Configuration *****************/

// Replace with your real receiving email address
$contact_email_to = "contact@example.com";

// Title prefixes
$subject_title = "Contat Form Message:";
$name_title = "Name:";
$email_title = "Email:";
$message_title = "Message:";

// Error messages
$contact_error_name = "Name is too short or empty!";
$contact_error_email = "Please enter a valid email!";
$contact_error_subject = "Subject is too short or empty!";
$contact_error_message = "Too short message! Please enter something.";

/********** Do not edit from the below line ***********/

if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
die('Sorry Request must be Ajax POST');
}

if(isset($_POST)) {

$name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
$email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
$subject = filter_var($_POST["subject"], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
$message = filter_var($_POST["message"], FILTER_SANITIZE_STRING);

if(!$contact_email_to || $contact_email_to == 'contact@example.com') {
die('The contact form receiving email address is not configured!');
}

if(strlen($name)<3){
die($contact_error_name);
}

if(!$email){
die($contact_error_email);
}

if(strlen($subject)<3){
die($contact_error_subject);
}

if(strlen($message)<3){
die($contact_error_message);
}

if(!isset($contact_email_from)) {
$contact_email_from = "contactform@" . @preg_replace('/^www\./','', $_SERVER['SERVER_NAME']);
}

$headers = 'From: ' . $name . ' <' . $contact_email_from . '>' . PHP_EOL;
$headers .= 'Reply-To: ' . $email . PHP_EOL;
$headers .= 'MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-Type: text/html; charset=UTF-8' . PHP_EOL;
$headers .= 'X-Mailer: PHP/' . phpversion();

$message_content = '<strong>' . $name_title . '</strong> ' . $name . '<br>';
$message_content .= '<strong>' . $email_title . '</strong> ' . $email . '<br>';
$message_content .= '<strong>' . $message_title . '</strong> ' . nl2br($message);

$sendemail = mail($contact_email_to, $subject_title . ' ' . $subject, $message_content, $headers);

if( $sendemail ) {
echo 'OK';
} else {
echo 'Could not send mail! Please check your PHP mail configuration.';
}
}
?>[code][/code]

staticweb
PostRank 9
PostRank 9
Beiträge: 2841
Registriert: 04.05.2016, 14:34
Wohnort: Anfrage über private Nachricht

Beitrag staticweb » 14.04.2019, 17:41 Kontaktformular PHP

Hier hast du eine funktionierende E-Mail-Adresse eingetragen?

$contact_email_to = "contact@example.com";

Schreibe hier mal hartkodiert die Werte rein und teste ob es so geht. Rest auskommentieren.

$sendemail = mail( $contact_email_to, $subject_title . ' ' . $subject, $message_content, $headers );

if( $sendemail ) {
echo 'OK';
} else {
echo 'Could not send mail! Please check your PHP mail configuration.';
}

Falls es immer noch nicht geht mal die Fehlermeldung aus dem error.log posten.

Indira-Nova
PostRank 1
PostRank 1
Beiträge: 4
Registriert: 14.04.2019, 16:48

Beitrag Indira-Nova » 14.04.2019, 17:47 Kontaktformular PHP

als erstes danke dir für die antwort :))

ja die ist eingetragen, fehler:

The contact form receiving email address is not configured!

obwohl ich nachgeschaut habe, die habe ich auch eingetragen

weiss nicht obs an der linie liegt:

$contact_email_from = "contactform@" . @preg_replace('/^www\./','', $_SERVER['SERVER_NAME']);

die ist so wie es hier ist

Anzeige von: