发送了PHP电子邮件,但数据并未随处显示

时间:2014-12-03 20:17:40

标签: php email session

所以,我正在尝试创建一个联系表单。客户可以将产品添加到购物车。这是使用会话完成的。会话productname显然存储了产品的名称。

我需要代码来检查它是否包含姓氏和电子邮件。如果没有,则显示错误消息。然后它检查验证码。如果一切正常,则需要发送2封电子邮件,一封发送到我的电子邮件地址($LMEY_email),另一封发送给客户的电子邮件。这两封电子邮件都应包含已填写的数据。

现在我的代码确实发了一封电子邮件,除了一个,它只包含数据。 $title包含$lastname,这在发送电子邮件时效果很好。如果您向下滚动代码,$lastname内的同一$message不会向我提供任何数据。

另外,如果我保留这样的代码,我会收到消息:

Fatal error: Call to undefined function SendEmail() in /home/./././public_html/folder/pagename.php on line XXX

我不明白,因为这个功能正好在调用该功能的行之下。

如果我交换位置(首先是函数,第二个是调用),警告就会消失。

我需要更改哪些内容才能获取电子邮件中的数据并删除警告?

代码:

session_start();

ini_set('display_errors', 1);
error_reporting(E_ALL);

define("PRODUCTNAME", 1);
$LMEY_email ='name@mail.com';

$cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : '';
$itemcount = isset($_SESSION['itemcount']) ? $_SESSION['itemcount'] : 0;
if ($itemcount == 0)
{
   header("Location: "."error.php?msg=".rawurlencode("Voeg aub eerst evenementen toe voordat u uw     informatieaanvraag afrondt."));
   $strHTML = "<font class='bewaardeItems'>U heeft nog geen evenementen aangeklikt.</font>";
   exit;
} 

$errors = '';
$firstname = '';
$lastname = '';
$straatnaam = '';
$huisnummer = '';
$postcode = '';
$woonplaats = '';
$land = '';
$visitor_email = '';
$telefoonnummer = '';
$deelnemers = '';
$optiedatum = '';
$opmerkingen = '';
$straatnaam_feestlocatie = '';
$huisnummer_feestlocatie = '';
$postcode_feestlocatie = '';
$plaats_feestlocatie = '';
$land_feestlocatie = '';

$strHTML = "<div style=\"overflow:auto; height=358px;\">"."\n";
   $strHTML .= "<table border=\"0\" cellpadding=\"3\" cellspacing=\"2\" width=\"100%\">"."\n";

   for ($i=0; $i<$itemcount; $i++)
   {
      $strHTML .= "<tr>"."\n";
      $strHTML .= "<td><a href='".$cart[PRODUCTNAME][$i]['savelink']."'     class='bewaardeItems'>".$cart[PRODUCTNAME][$i]['eventnaam']."</a></td>"."\n";
      $strHTML .= "</tr>"."\n";
   }

   $strHTML .= "</table>"."\n";
   $strHTML .= "</div>"."\n";

if(isset($_POST['submit']))
{

    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $straatnaam = $_POST['straatnaam'];
    $huisnummer = $_POST['huisnummer'];
    $postcode = $_POST['postcode'];
    $woonplaats = $_POST['woonplaats'];
    $land = $_POST['land'];
    $visitor_email = $_POST['email'];
    $telefoonnummer = $_POST['telefoonnummer'];
    $deelnemers = $_POST['deelnemers'];
    $optiedatum = $_POST['optiedatum'];
    $opmerkingen = $_POST['opmerkingen'];
    $straatnaam_feestlocatie = $_POST['straatnaam_feestlocatie'];
    $huisnummer_feestlocatie = $_POST['huisnummer_feestlocatie'];
    $postcode_feestlocatie = $_POST['postcode_feestlocatie'];
    $plaats_feestlocatie = $_POST['plaats_feestlocatie'];
    $land_feestlocatie = $_POST['land_feestlocatie'];
    ///------------Do Validations-------------
    if(empty($lastname)||empty($visitor_email))
    {
        $errors .= "\n Naam en email zijn verplicht. "; 
    }
    if(IsInjected($visitor_email))
    {
        $errors .= "\n Ongeldige email!";
    }
    if(empty($_SESSION['6_letters_code'] ) ||
      strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
    {
        $errors .= "\n De beveiligingscode komt niet overeen!";
    }

    if(empty($errors))
    {
        //verzend de mail vanaf hier
        if (!isset($visitor_email))
{
   header("Location: "."error.php?msg=".rawurlencode("We hebben uw gegevens niet ontvangen,     probeert u het aub. nogmaals."));
   exit;
} 

// create an ID
$orderid = strtotime("now").$_SERVER['REMOTE_ADDR']; 
$orderid = str_replace(".", "", "$orderid"); 

// create timestamp
$timestamp = date("Y-m-d H:i:s");

// mail data to customer
$subject = "Informatie aanvraag Entertain You events"; 
$title = "Wij hebben uw aanvraag ontvangen, waarvoor hartelijk dank! Wij streven er naar om u     binnen 2 werkdagen van antwoord te voorzien. Ondanks dat deze mail automatisch is opgesteld, kunt u eventuele vragen stellen door deze mail te beantwoorden.";
SendEmail($visitor_email, $subject, $title, $orderid, $timestamp, true);

// mail data to me
$subject = "Nieuwe informatie aanvraag";
$title = "Dhr. / Mevr. ".$lastname." heeft het contactformulier ingevuld. De volgende gegevens     zijn daarbij verzonden:";
SendEmail($LMEY_email, $subject, $title, $orderid, $timestamp, false);

function SendEmail($mailto, $subject, $title, $orderid, $timestamp, $maskcardno)
{
   $header  = "From: Entertain You Events"."\r\n"; 
   $header .= "Reply-To: ".$LMEY_email."\r\n"; 
   $header .= "MIME-Version: 1.0"."\r\n"; 
   $header .= "Content-Type: text/plain; charset=utf-8"."\r\n"; 
   $header .= "Content-Transfer-Encoding: 8bit"."\r\n"; 
   $header .= "X-Mailer: PHP v".phpversion(); 

   $message = $title."\r\n"."\r\n";
   $message .= "Aanvraagnummer: LMEY".$orderid."\r\n";
   $message .= "Aanvraagdatum: ".$timestamp."\r\n"."\r\n";

   $message .= "Persoonlijke gegevens:"."\r\n";
   $message .= "Voornaam: ".$firstname."\r\n";
   $message .= "Achternaam: ".$lastname."\r\n";
   $message .= "Email: ".$visitor_email."\r\n";
   $message .= "Adres: ".$straatnaam." - ".$huisnummer."\r\n";
   $message .= "Woonplaats: ".$woonplaats."\r\n";
   $message .= "Postcode: ".$postcode."\r\n";
   $message .= "Land: ".$land."\r\n";
   $message .= "Telefoonnummer: ".$telefoonnummer."\r\n"."\r\n";

   $message .= "Informatie-aanvraag over de volgende evenementen:"."\r\n"."\r\n";
   $message .= "======================================================="."\r\n";

   $itemcount = $_SESSION['itemcount'];
   $cart = $_SESSION['cart'];

   for ($i=0; $i<$itemcount; $i++)
   {
      $message .= $cart[PRODUCTNAME][$i]."\t";
      $message .= "\r\n";
   }

   $message .= "======================================================="."\r\n";
   $message .= "\r\n"."\r\n";

   mail($mailto, $subject, stripslashes($message), $header); 
}

header("Location: "."succes.php?msg=".rawurlencode("Succes!"));
    }
}

0 个答案:

没有答案