2016-07-31 13 views
0

Ich versuche, es so zu haben, wenn der Benutzer das Formular die Betreffzeile sendet, zeigen Sie den Namen des Benutzers wie "Anfrage von [Name des Benutzers]". Wie es jetzt eingerichtet wird bekommt es mit dem Betreff "Kontaktformular von der Seite". Wie kann ich den Code ändern, um dies zu ermöglichen?Kontaktformular Name Zeichenfolge

<?php 
// configure 
$from = '[email protected]'; 
$sendTo = '[email protected]'; 
$subject = 'Contact form at site'; 
$fields = array('name' => 'Name', 'surname' => 'Surname', 'phone' => 'Phone', 'email' => 'Email', 'message' => 'Message'); // array variable name => Text to appear in email 
$okMessage = 'Your Message was successfully submitted. Thank you! We will get back to you soon.'; 
$errorMessage = 'There was an error while submitting the form. Please try again or call us at 970-201-9619'; 

// let's do the sending 

try 
{ 
    $emailText = "You have new message from your Website\n=============================\n"; 

    foreach ($_POST as $key => $value) { 

     if (isset($fields[$key])) { 
      $emailText .= "$fields[$key]: $value\n"; 
     } 
    } 

    mail($sendTo, $subject, $emailText, "From: " . $from); 

    $responseArray = array('type' => 'success', 'message' => $okMessage); 
} 
catch (\Exception $e) 
{ 
    $responseArray = array('type' => 'danger', 'message' => $errorMessage); 
} 

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { 
    $encoded = json_encode($responseArray); 

    header('Content-Type: application/json'); 

    echo $encoded; 
} 
else { 
    echo $responseArray['message']; 
} 
+0

Bitte geben Sie weitere Informationen über das Formular (Feldnamen). – Tom

+0

"Zeigt die Benutzer" wie? – McStuffins

+0

Zeigt die Betreffzeile den Benutzernamen an? Ähnliches Thema wird "Mail von Rahul". –

Antwort

0

Gemacht Änderung im Thema wie pro Anforderung. Ich habe die Betreff-Variable direkt über den Mail-Sende-Code verschoben und Name und Vorname des Benutzers mit der Betreff-Zeile der Mail verkettet. Bitte überprüfen Sie das folgende Snippet und lassen Sie es mich wissen, wenn Sie Fragen haben.

<?php 
// configure 
$from = '[email protected]'; 
$sendTo = '[email protected]'; 
$fields = array('name' => 'Name', 'surname' => 'Surname', 'phone' => 'Phone', 'email' => 'Email', 'message' => 'Message'); // array variable name => Text to appear in email 
$okMessage = 'Your Message was successfully submitted. Thank you! We will get back to you soon.'; 
$errorMessage = 'There was an error while submitting the form. Please try again or call us at 970-201-9619'; 

// let's do the sending 

try 
{ 
    $emailText = "You have new message from your Website\n=============================\n"; 

    foreach ($_POST as $key => $value) { 

     if (isset($fields[$key])) { 
      $emailText .= "$fields[$key]: $value\n"; 
     } 
    } 
    $subject = 'Inquiry from '.$_POST['name']." ".$_POST['surname']; 
    mail($sendTo, $subject, $emailText, "From: " . $from); 

    $responseArray = array('type' => 'success', 'message' => $okMessage); 
} 
catch (\Exception $e) 
{ 
    $responseArray = array('type' => 'danger', 'message' => $errorMessage); 
} 

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { 
    $encoded = json_encode($responseArray); 

    header('Content-Type: application/json'); 

    echo $encoded; 
} 
else { 
    echo $responseArray['message']; 
} 
?> 
+0

Das hat den Trick gemacht. Tausend Dank!! – Dwayne

+0

@Dwayne Bitte akzeptieren Sie meine Antwort, wenn es Ihnen geholfen hat. Herzlich willkommen :) –