Kopieren eines Formulars

Das wäre klasse, wenn das Formular ankommt, ansonsten bringt es nichts,-)) hehehe

Wäre toll, wenn ich diese Woche das noch hochladen kann.

lg Perle
 
Das wäre klasse. ;-) Bin gespannt was es war.
Ich habe noch ein wenig an der mail.php gefummelt, wenn ich die Antwort bekomme mit "Sehr geehrte..." steht überall das <br> und ---------------- wie schaffen wir das ab? Mir reicht das eigentlich als Satz:

Sehr geehrte (r) Frau/Herr ... wir haben Ihre Anfrage erhalten und bearbeiten diese schnellst möglich, Mit freundlichen Grüssen, Ihre J. Barmettler.


Ist das auch möglich?
 
Es funktioniert wieder alles :) :)
Ändere den Code wie folgt ab:
PHP:
<?php    
  // mail.php    
  error_reporting(E_ALL);      

  foreach ($_POST as $key=>$input)     
  {     
    $inputArray[$key] = htmlentities($input);     
  }     

  $message .= "Sehr geehrte";
  if ($inputArray['anrede']=="Herr")  // Wenn Herr "geehrte" anpassen
    $message .= "r ";
  
  $message .= $inputArray['nachname'].",";
  $message .= "wir haben Ihre Anfrage erhalten und bearbeiten diese schnellst möglich.\r\nMit freundlichen Grüssen\r\nIhre J. Barmettler."

  $sendTo = $inputArray['mail'];    
  $subject = "offerte.php";      

  $sent = mail($sendTo, $subject, $message);  // Mail verschicken!     

  header("Location: danke.html");
?>
So müsste es funktionieren. (Die "\r\n" im Text bewirken einen Zeilenumbruch)
 
Ich habe es nun geändert, aber es kommen keine Mails an und die Seite ist wieder weiss, obwohl ich ihm sagte er soll zurück auf offerte.html springen.

Und es dauert teilsweise 5 Std. bis eine Mail ankommt, ist das normal? Manche kommen direkt durch, andere kommen später als die letzte die ich versendet habe...Alles verrückt..,-)
 
Zeig mal deinen geänderten Code.

perle93 hat gesagt.:
Und es dauert teilsweise 5 Std. bis eine Mail ankommt, ist das normal? Manche kommen direkt durch, andere kommen später als die letzte die ich versendet habe...Alles verrückt..,-)
Da kann man nichts (groß) ändern. Es kommt vor allem auf den Mailserver und an auf den Empfängerserver. Eventuell kannst du auch Kontakt mit deinem Anbieter aufnehmen.
 
PHP:
<?php    
  // mail.php    
  error_reporting(E_ALL);      

  foreach ($_POST as $key=>$input)     
  {     
    $inputArray[$key] = htmlentities($input);     
  }     

  $message .= "Sehr geehrte";
  if ($inputArray['anrede']=="Herr")  // Wenn Herr "geehrte" anpassen
    $message .= "r ";
  
  $message .= $inputArray['nachname'].",";
  $message .= "wir haben Ihre Anfrage erhalten und bearbeiten diese schnellst möglich.\r\nMit freundlichen Grüssen\r\nIhre J. Barmettler."

  $sendTo = $inputArray['mail'];    
  $subject = "Formular?";      

  mail("info@-design.ch", "Formularanfrage?!", "neue Testmail!"); 

  header("Location: offerte.html");
 
 $sent = mail($sendTo, $subject, $message);  // Mail verschicken!     

 
?>
 
Wieso schickst du die Email, nachdem du auf die Seite "offerte.html" weitergeleitet hast? Das geht gar nicht.

perle93 hat gesagt.:
...und die Seite ist wieder weiss, obwohl ich ihm sagte er soll zurück auf offerte.html springen.
Eventuell kann das daran liegen, dass der Pfad relativ ist und nicht absolut:
PHP:
header("Location: offerte.html"); // relativ

header("Location: http://yourwebsite.com/offerte.html"); // absolut
 
Dann gleiche es doch mit der Version von gestern ab.

Edit: Ich habe jetzt den Fehler gefunden. mail() sendet bereits Header an den Browser, sodass header("Location: ....html"); nicht mehr wirkt.

Der neue Code:
PHP:
<?php     
  // mail.php     
  error_reporting(E_ALL);       

  foreach ($_POST as $key=>$input)      
  {      
    $inputArray[$key] = htmlentities($input);      
  }      
  
  $message = "Sehr geehrte"; 
  if ($inputArray['anrede']=="Herr")  // Wenn Herr "geehrte" anpassen 
    $message .= "r "; 
   
  $message .= $inputArray['nachname'].","; 
  $message .= "wir haben Ihre Anfrage erhalten und bearbeiten diese schnellst möglich.\r\nMit freundlichen Grüssen\r\nIhre J. Barmettler."; 

  $sendTo = $inputArray['mail'];     
  $subject = "Offerte";       

  $sent = mail($sendTo, $subject, $message);  // Mail verschicken! 
?>

Wie kommt man jetzt wieder zurück auf eine Danke-Seite?
Lösung: Du könntest deine eigene Website einbinden, per Anfrage an sie:
PHP:
mail(...);

$str = file_get_contents("index.php?cmd=thankyou");

PS: Ich will nur anmerken, dass die Sicherheit sehr niedrig ist. Es gibt keinen Spamschutz oder Schutz vor Wiederholung der Mail. Im Prinzip ist es nur das Grundgerüst.
 
Zuletzt bearbeitet:
Zurück