PHP-код для большой HTML-формы заказа для отправки данных на адрес электронной почты

0

У меня есть форма большого заказа в html, и я хочу, чтобы иметь возможность отправлять данные по электронной почте. У меня есть сценарий ниже PHP, чтобы отправить его, но он продолжает идти на пустой белый экран или ошибки. Может ли кто-нибудь помочь мне найти то, что мне не хватает или нужно изменить.

<?php
if(isset($_POST['email'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "[email protected]";
    $email_subject = "Dealer Order";


     $midnight = $_POST['midnight'];
     $midFiveSqFt = $_POST['midFiveSqFt'];
     $midThreeSqFt = $_POST['midThreeSqFt'];
     $midTotalSqFt = $_POST['midTotalSqFt'];
     $midPrice = $_POST['midPrice'];
         $midLineTotal = $_POST['midLineTotal'];

        $daynight = $_POST['daylight'];
    $dayFiveSqFt = $_POST['dayFiveSqFt'];
    $dayThreeSqFt = $_POST['dayThreeSqFt'];
    $dayTotalSqFt = $_POST['dayTotalSqFt'];
    $dayPrice = $_POST['dayPrice'];
    $dayLineTotal = $_POST['dayLineTotal'];

    $earthtone = $_POST['earthtone'];
    $earthFiveSqFt = $_POST['earthFiveSqFt'];
    $earthThreeSqFt = $_POST['earthThreeSqFt'];
    $earthTotalSqFt = $_POST['earthTotalSqFt'];
    $earthPrice = $_POST['earthPrice'];
    $earthLineTotal = $_POST['earthLineTotal'];

    $mixedBlend = $_POST['mixedBlend'];
    $mbFiveSqFt = $_POST['mbFiveSqFt'];
    $mbThreeSqFt = $_POST['mbThreeSqFt'];
    $mbTotalSqFt = $_POST['mbTotalSqFt'];
    $mbPrice = $_POST['mbPrice'];
    $mbLineTotal = $_POST['mbLineTotal'];

    $starryNight = $_POST['starryNight'];
    $snTotalSqFt = $_POST['snTotalSqFt'];
    $snPrice = $_POST['snPrice'];
    $snLineTotal = $_POST['snLineTotal'];

    $dayNight = $_POST['dayNight'];
    $dnTotalSqFt = $_POST['dnTotalSqFt'];
    $dnPrice = $_POST['dnPrice'];
    $dnLineTotal = $_POST['dnLineTotal'];

    $caramelstone = $_POST['caramelstone'];
    $carTotalSqFt = $_POST['carTotalSqFt'];
    $carPrice = $_POST['carPrice'];
    $carLineTotal = $_POST['carLineTotal'];

    $harvestBlend = $_POST['harvestBlend'];
    $hbTotalSqFt = $_POST['hbTotalSqFt'];
    $hbPrice = $_POST['hbPrice'];
    $hbLineTotal = $_POST['hbLineTotal'];

    $winterBlend = $_POST['winterBlend'];
    $wbTotalSqFt = $_POST['wbTotalSqFt'];
    $wbPrice = $_POST['wbPrice'];
    $wbLineTotal = $_POST['wbLineTotal'];

    $autumnBlend = $_POST['autumnBlend'];
    $abTotalSqFt = $_POST['abTotalSqFt'];
    $abPrice = $_POST['abPrice'];
    $abLineTotal = $_POST['abLineTotal'];

    $tiletotal = $_POST['tiletotal'];
    $tiledel = $_POST['tiledel'];

    $oneWick = $_POST['oneWick'];
    $owPrice = $_POST['owPrice'];
    $owLineTotal = $_POST['owLineTotal'];

    $twoWick = $_POST['twoWick'];
    $twPrice = $_POST['twPrice'];
    $twLineTotal = $_POST['twLineTotal'];

    $threeWick = $_POST['threeWick'];
    $thwPrice = $_POST['thwPrice'];
    $thwLineTotal = $_POST['thwLineTotal'];

    $sixx8tray = $_POST['sixx8tray'];
    $sixtryPrice = $_POST['sixtryPrice'];
    $sixtryLineTotal = $_POST['sixtryLineTotal'];

    $sevenx10tray = $_POST['sevenx10tray'];
    $svntryPrice = $_POST['svntryPrice'];
    $svntryLineTotal = $_POST['svntryLineTotal'];

    $silverStopper = $_POST['silverStopper'];
    $ssPrice = $_POST['ssPrice'];
    $ssLineTotal = $_POST['ssLineTotal'];

    $knife = $_POST['knife'];
    $kPrice = $_POST['kPrice'];
    $kLineTotal = $_POST['kLineTotal'];

    $spectotal = $_POST['spectotal'];
    $specdel = $_POST['specdel'];

    $over150_1 = $_POST['over150_1'];

    $grandtot = $_POST['grandtot'];

    $email_message = "Form details below.\n\n";

    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "Midnight: ".clean_string($midnight)."\n";
    $email_message .= "midFiveSqFt: ".clean_string($midFiveSqFt)."\n";
    $email_message .= "midThreeSqFt: ".clean_string($midThreeSqFt)."\n";
    $email_message .= "midTotalSqFt: ".clean_string($midTotalSqFt)."\n";
    $email_message .= "midPrice: ".clean_string($midPrice)."\n";
    $email_message .= "midLineTotal: ".clean_string($midLineTotal)."\n";

**(I know I need to finish the above for all the types)**


// create email headers
$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  

}
?>
  • 0
    Какие ошибки вы получаете?
  • 0
    У вас нет переменной, установленной в $_POST['email'] поэтому, конечно, она потерпит неудачу. То, что вы «вероятно» хотели проверить, было посмотреть, было ли установлено «submit», как if(isset($_POST['submit'])) { или add $email=$_POST['email']; под вашим условным заявлением, если вы хотите сохранить это заявление.
Показать ещё 4 комментария
Теги:
forms
email
order

1 ответ

0

Я проверил ваш код и пришел к следующему выводу.

У вас нет переменной, установленной в $_POST['email'] чтобы объяснить пустой экран, и в конце/вне вашего кода нет else условного оператора, чтобы показать/сказать вам иначе.

То, что вы, вероятно, "хотели" проверить, было проверить, была ли установлена кнопка "отправить", как в if(isset($_POST['submit'])) { или добавить $email=$_POST['email']; в соответствии с вашим условным утверждением, если вы хотите сохранить это выражение неповрежденным.

Я добавил эту строку в конце вашего кода: (чтобы проверить)

else { echo "Sorry, Email variable is not set."; }

И если вы должны были изменить эту строку (чтобы проверить), if(isset($_POST['email'])) { if(!isset($_POST['email'])) { и запустить/выполнить его без вашей формы, вы увидите, что почта будет отправлена, однако она может оказаться в вашем окне SPAM, как и для меня, потому что не было электронной почты, связанной с From:

NB: Вы также подавляете ошибки, используя символ @ для своей функции @mail().

Поэтому либо добавьте $email=$_POST['email']; после вашего утверждения условного утверждения или изменить его на if(isset($_POST['submit'])) { если вы проверяете кнопку "named" submit.

То есть:

<input type="submit" name="submit" value="Submit">

<?php
// possible fix - uncomment
// $email=$_POST['email'];

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

// delete the above line and uncomment this line if checking submit instead
// if(isset($_POST['submit'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "[email protected]";
    $email_subject = "Dealer Order";


     $midnight = $_POST['midnight'];
     $midFiveSqFt = $_POST['midFiveSqFt'];
     $midThreeSqFt = $_POST['midThreeSqFt'];
     $midTotalSqFt = $_POST['midTotalSqFt'];
     $midPrice = $_POST['midPrice'];
         $midLineTotal = $_POST['midLineTotal'];

        $daynight = $_POST['daylight'];
    $dayFiveSqFt = $_POST['dayFiveSqFt'];
    $dayThreeSqFt = $_POST['dayThreeSqFt'];
    $dayTotalSqFt = $_POST['dayTotalSqFt'];
    $dayPrice = $_POST['dayPrice'];
    $dayLineTotal = $_POST['dayLineTotal'];

    $earthtone = $_POST['earthtone'];
    $earthFiveSqFt = $_POST['earthFiveSqFt'];
    $earthThreeSqFt = $_POST['earthThreeSqFt'];
    $earthTotalSqFt = $_POST['earthTotalSqFt'];
    $earthPrice = $_POST['earthPrice'];
    $earthLineTotal = $_POST['earthLineTotal'];

    $mixedBlend = $_POST['mixedBlend'];
    $mbFiveSqFt = $_POST['mbFiveSqFt'];
    $mbThreeSqFt = $_POST['mbThreeSqFt'];
    $mbTotalSqFt = $_POST['mbTotalSqFt'];
    $mbPrice = $_POST['mbPrice'];
    $mbLineTotal = $_POST['mbLineTotal'];

    $starryNight = $_POST['starryNight'];
    $snTotalSqFt = $_POST['snTotalSqFt'];
    $snPrice = $_POST['snPrice'];
    $snLineTotal = $_POST['snLineTotal'];

    $dayNight = $_POST['dayNight'];
    $dnTotalSqFt = $_POST['dnTotalSqFt'];
    $dnPrice = $_POST['dnPrice'];
    $dnLineTotal = $_POST['dnLineTotal'];

    $caramelstone = $_POST['caramelstone'];
    $carTotalSqFt = $_POST['carTotalSqFt'];
    $carPrice = $_POST['carPrice'];
    $carLineTotal = $_POST['carLineTotal'];

    $harvestBlend = $_POST['harvestBlend'];
    $hbTotalSqFt = $_POST['hbTotalSqFt'];
    $hbPrice = $_POST['hbPrice'];
    $hbLineTotal = $_POST['hbLineTotal'];

    $winterBlend = $_POST['winterBlend'];
    $wbTotalSqFt = $_POST['wbTotalSqFt'];
    $wbPrice = $_POST['wbPrice'];
    $wbLineTotal = $_POST['wbLineTotal'];

    $autumnBlend = $_POST['autumnBlend'];
    $abTotalSqFt = $_POST['abTotalSqFt'];
    $abPrice = $_POST['abPrice'];
    $abLineTotal = $_POST['abLineTotal'];

    $tiletotal = $_POST['tiletotal'];
    $tiledel = $_POST['tiledel'];

    $oneWick = $_POST['oneWick'];
    $owPrice = $_POST['owPrice'];
    $owLineTotal = $_POST['owLineTotal'];

    $twoWick = $_POST['twoWick'];
    $twPrice = $_POST['twPrice'];
    $twLineTotal = $_POST['twLineTotal'];

    $threeWick = $_POST['threeWick'];
    $thwPrice = $_POST['thwPrice'];
    $thwLineTotal = $_POST['thwLineTotal'];

    $sixx8tray = $_POST['sixx8tray'];
    $sixtryPrice = $_POST['sixtryPrice'];
    $sixtryLineTotal = $_POST['sixtryLineTotal'];

    $sevenx10tray = $_POST['sevenx10tray'];
    $svntryPrice = $_POST['svntryPrice'];
    $svntryLineTotal = $_POST['svntryLineTotal'];

    $silverStopper = $_POST['silverStopper'];
    $ssPrice = $_POST['ssPrice'];
    $ssLineTotal = $_POST['ssLineTotal'];

    $knife = $_POST['knife'];
    $kPrice = $_POST['kPrice'];
    $kLineTotal = $_POST['kLineTotal'];

    $spectotal = $_POST['spectotal'];
    $specdel = $_POST['specdel'];

    $over150_1 = $_POST['over150_1'];

    $grandtot = $_POST['grandtot'];

    $email_message = "Form details below.\n\n";

    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "Midnight: ".clean_string($midnight)."\n";
    $email_message .= "midFiveSqFt: ".clean_string($midFiveSqFt)."\n";
    $email_message .= "midThreeSqFt: ".clean_string($midThreeSqFt)."\n";
    $email_message .= "midTotalSqFt: ".clean_string($midTotalSqFt)."\n";
    $email_message .= "midPrice: ".clean_string($midPrice)."\n";
    $email_message .= "midLineTotal: ".clean_string($midLineTotal)."\n";


// create email headers
$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  

}

else { echo "Sorry, Email variable is not set."; }

?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню