Seite 1 von 1

Weiterleitung nach Formularversendung

Verfasst: 05.03.2008 18:06
von holgerfrey
Hallo zusammen,

erstmals Gratulation zu dem Script "Kontaktformular" und der Beschreibung.

Ich habe da ein Problem mit der Bestätigung nach Versendung (E-Mail erreicht den Admin und den Kunden) und entsprechender Weiterleitung.

Die Fehlermeldung lautet:
Warning: Cannot modify header information - headers already sent by (output started at /homepages/39/d110549773/htdocs/medserena/header.php:9) in /homepages/39/d110549773/htdocs/medserena/kontakt.php on line 69

Viele Grüße,

Holger Frey

der Link: www.medserena.com/test.html

Die kontakt.php

<?
// -----------------------------------------
// Das Copyright (Link) darf nicht entfernt werden.
// Eine Copyright freie Version können Sie für einmalig
// 20 ,- € inkl. 19% MwSt. erwerben, hierzu möchten wir
// Sie bitten mit uns über das Kontaktformular
// ( http://www.kontaktformular-script.de/kontakt.php )
// in Verbindung zu treten.
// -----------------------------------------
error_reporting(E_ALL);
include("header.php");
include("config.php");

function check_email($email)
{
return (eregi('^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,4}$',$email)==false ? false : true);
}

$content=file_get_contents("test.html");
$show_form=true;
if(isset($_POST['submit']))
{
$v_vorname=htmlentities($_POST['vorname']);
$v_nachname=htmlentities($_POST['nachname']);
$v_email=htmlentities($_POST['email']);
$v_nachricht=htmlentities($_POST['nachricht']);
$v_email = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $v_email );
$v_email = preg_replace( "/(content-type:|bcc:|cc:|to:|from:-)/im", "", $v_email);
if(empty($v_vorname))echo $errors['vorname']."<br>";
elseif(empty($v_nachname))echo $errors['nachname']."<br>";
elseif(empty($v_email)||!check_email($v_email))echo $errors['email']."<br>";
elseif(empty($v_nachricht))echo $errors['nachricht']."<br>";
else
{
$show_form=false;
$data=array();
$data['ip'] = $_SERVER['REMOTE_ADDR'];
$data['host'] = gethostbyaddr($data['ip']);
$data['browser'] = $_SERVER['HTTP_USER_AGENT'];
$data['ref'] = $_SERVER['REQUEST_URI'];
$data['ref2'] = $_SERVER['HTTP_REFERER'];
$email_admin=file_get_contents("email_admin.txt");
$email_kunde=file_get_contents("email_kunde.txt");
foreach($txt as $n=>$w)
{
$email_admin=str_replace("{v_".$n."}",${"v_$n"},$email_admin);
$email_kunde=str_replace("{v_".$n."}",${"v_$n"},$email_kunde);
}
foreach($data as $n=>$w)
{
$email_admin=str_replace("{".$n."}",$w,$email_admin);
$email_kunde=str_replace("{".$n."}",$w,$email_kunde);
}
$header = "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
$header .= "FROM: ".$mail_data['name_absender']."<".$mail_data['email_absender'].">\r\n";
$header .= "Reply-To: ".$mail_data['name_absender']."<".$mail_data['email_absender'].">\r\n";
$header .= "X-Mailer: PHP/" . phpversion()."\r\n";
$sent_admin=@mail($mail_data['email_admin'],
$mail_data['betreff_admin'],
$email_admin,
$header);

$sent_kunde=@mail($v_email,
$mail_data['betreff_kunde'],
$email_kunde,
$header);

if($sent_admin&&$sent_kunde)header("Location: ".$mail_data['weiterleitung']);
else
{
echo $errors['nachricht_senden']."<br>";
$show_form=true;
}
}
}
else
{
$v_vorname="";
$v_nachname="";
$v_email="";
$v_nachricht="";
}
if($show_form)
{
foreach($txt as $n=>$w)
{
$content=str_replace("{".$n."}",$w,$content);
$content=str_replace("{v_".$n."}",${"v_$n"},$content);
}
$content=str_replace("{submit}",$txt2['submit'],$content);
echo $content;
}
echo 'Script by <a href="http://www.kontaktformular-script.de/" target="_blank">KontaktFormular-Script.de</a>';
include("footer.php");
?>


Die config.php:

<?
// -----------------------------------------
// Das Copyright (Link) darf nicht entfernt werden.
// Eine Copyright freie Version können Sie für einmalig
// 20 ,- € inkl. 19% MwSt. erwerben, hierzu möchten wir
// Sie bitten mit uns über das Kontaktformular
// ( http://www.kontaktformular-script.de/kontakt.php )
// in Verbindung zu treten.
// -----------------------------------------
$txt=array();
#Texte vor den Eingabefeldern
$txt['vorname']="Vorname";
$txt['nachname']="Nachname";
$txt['email']="E-Mail";
$txt['nachricht']="Nachricht";

$txt2=array();
$txt2['submit']="Kontaktieren!";
$txt2['erfolg']="Vielen Dank für Ihre Nachricht. Wir werden uns umgehend mit Ihnen in Verbindung setzen.";//Ausgabe, falls die E-Mails erfolgreich versendet wurden.


$errors=array();
#Ausgaben, falls die jeweiligen Felder keinen Inhalte hatten, also leer waren
$errors['vorname']="Bitte geben Sie den Vornamen ein.";
$errors['nachname']="Bitte geben Sie den Nachnamen ein.";
$errors['email']="Bitte geben Sie die E-Mail ein.";
$errors['nachricht']="Bitte geben Sie eine Nachricht ein.";

$errors['nachricht_senden']="Nachricht konnte nicht versendet werden.";//Ausgabe, falls die E-Mails nicht versendet werden konnten.

$mail_data=array();
$mail_data['email_admin']="h.frey@medserena.com";//An diese Adresse wird dem Admin seine Email geschickt
$mail_data['email_absender']="info@medserena.com";//Diese Adresse wird als Absender angegeben
$mail_data['name_absender']="Medserena AG";//Dieser Name wird als Absender angegeben
$mail_data['betreff_admin']="Kontaktformular von medserena.com";//Betreff der E-Mail an den Admin
$mail_data['betreff_kunde']="Ihre Anfrage auf der Seite medserena.com";//Betreff der E-Mail an den Kunden
$mail_data['weiterleitung']="http://www.medserena.com";//Auf diese Adresse wird nach erfolgreichem Versand weitergeleitet
?>


die header.php:

<?
if (eregi("header.php",$_SERVER["PHP_SELF"])) {
header('Location: ./kontakt.php');
die();
}
?>
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head><title>Kontakt zur MEDSERENA AG</title></head><body>

Re: Weiterleitung nach Formularversendung

Verfasst: 16.03.2008 23:28
von admin
holgerfrey hat geschrieben:Hallo zusammen,

erstmals Gratulation zu dem Script "Kontaktformular" und der Beschreibung.

Ich habe da ein Problem mit der Bestätigung nach Versendung (E-Mail erreicht den Admin und den Kunden) und entsprechender Weiterleitung.

Die Fehlermeldung lautet:
Warning: Cannot modify header information - headers already sent by (output started at /homepages/39/d110549773/htdocs/medserena/header.php:9) in /homepages/39/d110549773/htdocs/medserena/kontakt.php on line 69

Viele Grüße,

Holger Frey

der Link: www.medserena.com/test.html

Die kontakt.php

<?
// -----------------------------------------
// Das Copyright (Link) darf nicht entfernt werden.
// Eine Copyright freie Version können Sie für einmalig
// 20 ,- € inkl. 19% MwSt. erwerben, hierzu möchten wir
// Sie bitten mit uns über das Kontaktformular
// ( http://www.kontaktformular-script.de/kontakt.php )
// in Verbindung zu treten.
// -----------------------------------------
error_reporting(E_ALL);
include("header.php");
include("config.php");

function check_email($email)
{
return (eregi('^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,4}$',$email)==false ? false : true);
}

$content=file_get_contents("test.html");
$show_form=true;
if(isset($_POST['submit']))
{
$v_vorname=htmlentities($_POST['vorname']);
$v_nachname=htmlentities($_POST['nachname']);
$v_email=htmlentities($_POST['email']);
$v_nachricht=htmlentities($_POST['nachricht']);
$v_email = preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $v_email );
$v_email = preg_replace( "/(content-type:|bcc:|cc:|to:|from:-)/im", "", $v_email);
if(empty($v_vorname))echo $errors['vorname']."<br>";
elseif(empty($v_nachname))echo $errors['nachname']."<br>";
elseif(empty($v_email)||!check_email($v_email))echo $errors['email']."<br>";
elseif(empty($v_nachricht))echo $errors['nachricht']."<br>";
else
{
$show_form=false;
$data=array();
$data['ip'] = $_SERVER['REMOTE_ADDR'];
$data['host'] = gethostbyaddr($data['ip']);
$data['browser'] = $_SERVER['HTTP_USER_AGENT'];
$data['ref'] = $_SERVER['REQUEST_URI'];
$data['ref2'] = $_SERVER['HTTP_REFERER'];
$email_admin=file_get_contents("email_admin.txt");
$email_kunde=file_get_contents("email_kunde.txt");
foreach($txt as $n=>$w)
{
$email_admin=str_replace("{v_".$n."}",${"v_$n"},$email_admin);
$email_kunde=str_replace("{v_".$n."}",${"v_$n"},$email_kunde);
}
foreach($data as $n=>$w)
{
$email_admin=str_replace("{".$n."}",$w,$email_admin);
$email_kunde=str_replace("{".$n."}",$w,$email_kunde);
}
$header = "Content-Type: text/plain; charset="utf-8"\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
$header .= "FROM: ".$mail_data['name_absender']."<".$mail_data['email_absender'].">\r\n";
$header .= "Reply-To: ".$mail_data['name_absender']."<".$mail_data['email_absender'].">\r\n";
$header .= "X-Mailer: PHP/" . phpversion()."\r\n";
$sent_admin=@mail($mail_data['email_admin'],
$mail_data['betreff_admin'],
$email_admin,
$header);

$sent_kunde=@mail($v_email,
$mail_data['betreff_kunde'],
$email_kunde,
$header);

if($sent_admin&&$sent_kunde)header("Location: ".$mail_data['weiterleitung']);
else
{
echo $errors['nachricht_senden']."<br>";
$show_form=true;
}
}
}
else
{
$v_vorname="";
$v_nachname="";
$v_email="";
$v_nachricht="";
}
if($show_form)
{
foreach($txt as $n=>$w)
{
$content=str_replace("{".$n."}",$w,$content);
$content=str_replace("{v_".$n."}",${"v_$n"},$content);
}
$content=str_replace("{submit}",$txt2['submit'],$content);
echo $content;
}
echo 'Script by <a href="http://www.kontaktformular-script.de/" target="_blank">KontaktFormular-Script.de</a>';
include("footer.php");
?>


Die config.php:

<?
// -----------------------------------------
// Das Copyright (Link) darf nicht entfernt werden.
// Eine Copyright freie Version können Sie für einmalig
// 20 ,- € inkl. 19% MwSt. erwerben, hierzu möchten wir
// Sie bitten mit uns über das Kontaktformular
// ( http://www.kontaktformular-script.de/kontakt.php )
// in Verbindung zu treten.
// -----------------------------------------
$txt=array();
#Texte vor den Eingabefeldern
$txt['vorname']="Vorname";
$txt['nachname']="Nachname";
$txt['email']="E-Mail";
$txt['nachricht']="Nachricht";

$txt2=array();
$txt2['submit']="Kontaktieren!";
$txt2['erfolg']="Vielen Dank für Ihre Nachricht. Wir werden uns umgehend mit Ihnen in Verbindung setzen.";//Ausgabe, falls die E-Mails erfolgreich versendet wurden.


$errors=array();
#Ausgaben, falls die jeweiligen Felder keinen Inhalte hatten, also leer waren
$errors['vorname']="Bitte geben Sie den Vornamen ein.";
$errors['nachname']="Bitte geben Sie den Nachnamen ein.";
$errors['email']="Bitte geben Sie die E-Mail ein.";
$errors['nachricht']="Bitte geben Sie eine Nachricht ein.";

$errors['nachricht_senden']="Nachricht konnte nicht versendet werden.";//Ausgabe, falls die E-Mails nicht versendet werden konnten.

$mail_data=array();
$mail_data['email_admin']="h.frey@medserena.com";//An diese Adresse wird dem Admin seine Email geschickt
$mail_data['email_absender']="info@medserena.com";//Diese Adresse wird als Absender angegeben
$mail_data['name_absender']="Medserena AG";//Dieser Name wird als Absender angegeben
$mail_data['betreff_admin']="Kontaktformular von medserena.com";//Betreff der E-Mail an den Admin
$mail_data['betreff_kunde']="Ihre Anfrage auf der Seite medserena.com";//Betreff der E-Mail an den Kunden
$mail_data['weiterleitung']="http://www.medserena.com";//Auf diese Adresse wird nach erfolgreichem Versand weitergeleitet
?>


die header.php:

<?
if (eregi("header.php",$_SERVER["PHP_SELF"])) {
header('Location: ./kontakt.php');
die();
}
?>
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head><title>Kontakt zur MEDSERENA AG</title></head><body>
Abend,

Kann das sein, dass sie in der header.php in der Zeile neun ein Leerzeichen am Ende haben?

Mit freundlichen Grüßen
Nico Schubert