nach erfolgreichem senden weiterleitung auf eine bestimmte Datei

elme

Mitglied
Guten Abend / Tag erstmal,

also folgendes Problem, ich hab mir ein Kontaktformular zusammengebastelt, funktioniert auch wunderbar
Aber mich stört der Meldungstext der nach erfolgreichem absenden erscheint:

"Vielen Dank für ihre eMail!"

ich will aber das es nachdem erfolgreichem senden, eine datei (danke.html)

bzw. bei einem Fehler eine andere datei (fehler.html) erscheint

Wie mach ich das

EDiT: mit

Code:
header("Location:danke.html");

hab ich es auch schon probiert!!



hier mein code:

Code:
<?php

$Empfaenger = "blabla@domain.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Firma']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgenden Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Kontakt: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für Ihre eMail!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.php\">Seite</a>.";
}

?>


Danke schonmal im Voraus

Gruß

Elme
 
Zuletzt bearbeitet:
danke erstmal @ Dj Nelson hmm des klappt nicht warum? weiß ich nicht! :(


aber des war auch nicht wirklich das was ich suche ... ich will das es je nach dem ob es ein Fehler oder Erfolgreich war ... das eine Datei aufgerufen wird .. z. B.

bei einem Fehler kommt dann die Datei: fehler.html

und wenn es erfolgreich wa, dann die Datei: danke.html aufgerufen wird!!



bei mir steht jetzt im echo das hier:

Code:
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
echo"Vielen Dank für Ihre eMail!";


da muss es doch bestimmt was geben was auf ne datei weiterleitet

Danke schonmal!

Gruß

Elme
 
so habs jetzt durch hilfe von jemandem anderem (thx @ steffen) hinbekommen!

aber jetzt wenn ich die e-mail abschicke: kommt das hier

Code:
Parse error: parse error, unexpected $ in /usr/export/www/hosting/med/mef/check.php on line 40


und zeile 40 ist </html> wo liegt denn jetzt der fehler :confused:

Code:
<html>
<head>
<title>test 123</title>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="background-color:transparent">
<?php


error_reporting(E_ALL);
$Empfaenger = "mail@domain.net";

if(isset($_POST['Send']))
{
    echo '<h5>Debug-Ausgabe</h5><pre>'.print_r($_POST,true).'</pre><hr>';
   if(empty($_POST['Name']) || empty($_POST['Email']) || empty($_POST['Firma']) || empty($_POST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgenden Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_POST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum/Zeit: ";
      $Mailnachricht .= date("d.m.Y H:i:s");
      $Mailbetreff = "Betreff: ";
      $Mailbetreff .= $_POST['Betreff'];
      if(mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_POST['Email'])){
        header("Location:danke.html");
        } else {
        header("Location:index.html");
}

?>
</body>
</html>
 
Zwei schließende Klammern fehlen.

Probier mal Folgendes:
PHP:
<?php

	error_reporting(E_ALL);
	$Empfaenger = 'mail@domain.net';

	if( isset($_POST['Send']) ) {
		if( !empty($_POST['Name']) && !empty($_POST['Email']) && !empty($_POST['Firma']) && !empty($_POST['Nachricht']) ) {
			$Mailnachricht = 'Sie haben folgenden Nachricht erhalten:'."\n\n";
			foreach( $_POST as $Formularfeld => $Wert ) {
				if( $Formularfeld == 'Send' ) {
					continue;
				}
				$Mailnachricht .= $Formularfeld.': '.$Wert."\n";
			}
		}
		$Mailnachricht .= "\nDatum/Zeit: ";
		$Mailnachricht .= date('d.m.Y H:i:s');
		$Mailbetreff = 'Betreff: '.$_POST['Betreff'];
		if( mail($Empfaenger, $Mailbetreff, $Mailnachricht, 'From: '.$_POST['Email']) ) {
			header('Location: danke.html');
		} else {
			header('Location: index.html');
		}
	}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>test 123</title>
</head>

<body>
<?php

	if( isset($_POST['Send']) && ( empty($_POST['Name']) || empty($_POST['Email']) || empty($_POST['Firma']) || empty($_POST['Nachricht']) ) ) {
		echo 'Bitte gehen Sie <a href="javascript:history.back();">zurück</a> und füllen Sie alle Felder aus!';
	}

?>
</body>
</html>
 
Zurück