Условный оператор для построения сообщения для PHP Mailer

#javascript #php #html

#javascript #php #HTML

Вопрос:

У меня есть mail.php который принимает данные post из AJAX.

Я очистил и назначил переменные. При составлении основного сообщения PHP Mail. Я хочу использовать условный оператор для оценки того, передали ли текстовые поля формы значение. Если он оценивается как true, сгенерируйте HTML-код в $message, чтобы форма была точной. На данный момент мой код выдает только результат первого условного оператора и, похоже, не оценивает остальные условные операторы.

Мой mail.php код приведен ниже:

 // Required Meeting Request fields
$message = '<html><body>';
$message .= '<center><H1>CDA IT Meeting Request Form</H1></center>';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10" width="500px" style="margin:10px auto;">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>" . $emp_Name . "</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>" . $emp_Email . "</td></tr>";
if($req_Name != "") {
    $message  .= "<tr><td><strong>Requestor's Name:</strong></td><td>" . $req_Name . "</td></tr>";
}
if($req_Email != "") {
    $message  .= "<tr><td><strong>Requestor's Email:</strong></td><td>" . $req_Email . "</td></tr>";
}
$message .= "<tr><td><strong>Function:</strong> </td><td>" . $meeting_Function . "</td></tr>";
$message .= "<tr><td><strong>Setup Date amp; Time:</strong> </td><td>" . $borrow_Date . " " . $time_Setup ."</td></tr>";
$message .= "<tr><td><strong>Start Date amp; Time:</strong> </td><td>" . $borrow_Date . " " . $time_Actual ."</td></tr>";
$message .= "<tr><td><strong>Return Date amp; Time:</strong> </td><td>" . $return_Date . " " . $end_Time ."</td></tr>";
$message .= "<tr><td><strong>Location:</strong> </td><td>" . $Loc ."</td></tr>";
// Conditional entries
if($hw_LcdProjectorQty != "") {
    $message  .= "<tr><td><strong>Projector</strong></td><td>Quantity: " . $hw_LcdProjectorQty ."</td></tr>";
}

if($hw_LaptopQty != "") {
    $massage  .= "<tr><td><strong>Laptop(s)</strong></td><td>Quantity: " . $hw_LaptopQty ."</td></tr>";
}

if($hw_WiredMouseQty != "") {
    $massage  .= "<tr><td><strong>Wired Mouse</strong></td><td>Quantity: " . $hw_WiredMouseQty . "</td></tr>";
}

if($hw_WiredKeyboardQty != "") {
    $massage  .= "<tr><td><strong>Wird Keyboard</strong></td><td>Quantity: " . $hw_WiredKeyboardQty . "</td></tr>";
}

if($hw_iPadQty != "") {
    $massage  .= "<tr><td><strong>iPad</strong></td><td>Quantity:" . $hw_iPadQty . "</td></tr>";
}

if($hw_RemoteMouseQty != "") {
    $massage  .= "<tr><td><strong>Remote Mouse</strong></td><td>Quantity: " . $hw_RemoteMouseQty . "</td></tr>";
}

if($hw_HandMicQty != "") {
    $massage  .= "<tr><td><strong>Hand Microphone</strong></td><td>Quantity: " . $hw_HandMicQty . "</td></tr>";
}

if($hw_LapelMicQty != "") {
    $massage  .= "<tr><td><strong>Lapel Microphone</strong></td><td>Quantity: " . $hw_LapelMicQty . "</td></tr>";
}

if($hw_MediaCart != "") {
    $massage  .= "<tr><td><strong>Media Cart</strong></td><td>Quantity: " . $hw_MediaCart . "</td></tr>";
}

if($hw_PolyComPhone != "") {
    $massage  .= "<tr><td><strong>Polycom Conference Phone</strong></td><td>Quantity: " . $hw_PolyComPhone . "</td></tr>";
}

if($Applications != "") {
    $massage  .= "<tr><td><strong>Applications Requested:</strong></td><td>" . $Applications . "</td></tr>";
}

if($Comment != "") {
    $massage  .= "<tr><td><strong>Comments/Special Instructions</strong></td><td>" . $Comment . "</td></tr>";
}

$message .= "<tr style='background: #eee;'><td><strong>Status:</strong> </td><td>Request Submitted</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
  

$hw_LcdProjectorQty является единственным условным, которое, похоже, срабатывает. Переменные QTY содержат только значения от 1 до 16.

Комментарии:

1. Вы пробовали var_dump все переменные?

2. откуда вы берете переменные $ hw? параметр или предопределен?

Ответ №1:

Найдите разницу:

 $message = '<html><body>';
  ^---- letter E

if($hw_LaptopQty != "") {
    $massage  .=
      ^---letter A
  

У вас есть эта разница во всем вашем коде.

Возможно, вы слишком много смотрели фильмы «Розовая пантера»… «Извините, инспектор. У меня есть сообщение для вас»»Массаж!?»