Sadece PHP posta ile alanları doldurmak () gönderme

3 Cevap php

Ben bir güzel yemek müşteri için bir online menü bitiriyordum. Her bir madde için, kullanıcı, istenen miktar girebilirsiniz.

Kullanıcı seçme bitirir ve form gönderdiğinde, ben bir onay e-posta kullanıcı ve restoran sahibi (aynı mesaj) gitmek istiyorum.

Onay e-postada, ben sadece bir miktar girdiğiniz hangi öğeleri görüntülemek istiyor. Örneğin:

Foie Gras 1 $9ea
Steak au Poivre 2 $37ea

Bu muhtemelen basit olduğunu biliyorum, ama ben böyle bir şey için ne noktada komut kontrollerinde kavramsallaĢtırmaktır olamaz! = "". Ya da bir şey.

Burada referans için menü bulunuyor: http://www.greenroomgrille.com/valentines/

Çok Şimdiden teşekkürler.

3 Cevap

Bir foreach üzerinden çalıştırmak ve miktarda var değerleri CONCAT olabilir:

$order = "";
foreach ($items as $item => $quantity) {
  if ($quantity > 0)
    $order .= "{$item} {$quantity}\n";
}
print $order;

Bu, böyle bir dizi varsayar:

$items = array("Pudding" => 3, "Yogurt" => 12, "Soup" => 0, "Apples" => 0);

Oldukça basit olurdu, değişkenin sadece onay gövde metni eklemeden önce boş:

if ($POST["Pudding"] <> "") { $bodyText .= "Pudding: " . $POST["Pudding"]; }

Bu yaklaşım en düz ileri yönlü menü öğesi miktarı tüm değerleri yineleme ve bu gibi e-posta vücut kendi ek durum şudur:

if(intval($_REQUEST['CourseOne-App1']) > 0)
  $email_body .= intval($_REQUEST['CourseOne-App1']) . 'x Torchon of Foie Gras' . "\n";

if(intval($_REQUEST['CourseOne-App2']) > 0)
  $email_body .= intval($_REQUEST['CourseOne-App2']) . 'x Carpaccio' . "\n";

// etc...