Форма отправки PHP на электронную почту - PullRequest
0 голосов
/ 08 апреля 2011

Привет, ребята, я новичок в php, и я делаю форму представления, где люди бронируют онлайн.

У меня есть форма, которая работает нормально, но я хочу добавить флажки для дополнений, а затем отметить эти дополнения в письмах с подтверждением, отправленных и пользователю, и мне.

<tr>
    <td height="10" align="right" class="align_right">Deodoriser:&nbsp;</td>
    <td>
        <input type="text" name="deodoriser" id="deodoriser" value="<?php echo $deodoriser?>"  onchange="checkFieldBack(this)"/>
    </td>
</tr>

<tr>
    <td height="30" align="right" class="align_right">Carpet Protector (5 litre):&nbsp;</td>
    <td>
        <input type="text" name="carpet" id="carpet" value="<?php echo $carpet?>"  onchange="checkFieldBack(this)"/>
    </td>
</tr>
<tr>
    <td height="30" align="right" class="align_right">Carpet Repair Tools:&nbsp;</td>
    <td>
        <input type="text" name="carpetrepair" id="carpetrepair" value="<?php echo $carpetrepair?>"  onchange="checkFieldBack(this)"/>
    </td>
</tr>
<tr>
    <td height="30" align="right" class="align_right">Furniture Moving Equipment:&nbsp;</td>
    <td>
        <input type="text" name="furniture" id="furniture" value="<?php echo $furniture?>"  onchange="checkFieldBack(this)"/>
    </td>
</tr>
<tr>
    <td height="30" align="right" class="align_right">Furniture Tabs:&nbsp;</td>
    <td>
        <input type="text" name="tabs" id="tabs" value="<?php echo $tabs?>"  onchange="checkFieldBack(this)"/>
    </td>
</tr>
<tr>
    <td height="30" align="right" class="align_right">Urine Decontamination Treatment:&nbsp;</td>
    <td>
        <input type="text" name="urine" id="urine" value="<?php echo $urine?>"  onchange="checkFieldBack(this)"/>
    </td>
</tr>

Я хотел бы сделать эти флажки, а не текст. Это переменные

$deodoriser = (!empty($_REQUEST["deodoriser"]))?strip_tags(str_replace("'","`",$_REQUEST["deodoriser"])):'';
    $carpet = (!empty($_REQUEST["carpet"]))?strip_tags(str_replace("'","`",$_REQUEST["carpet"])):'';
    $carpetrepair = (!empty($_REQUEST["carpetrepair"]))?strip_tags(str_replace("'","`",$_REQUEST["carpetrepair"])):'';
    $furniture = (!empty($_REQUEST["furniture"]))?strip_tags(str_replace("'","`",$_REQUEST["furniture"])):'';
    $tabs = (!empty($_REQUEST["tabs"]))?strip_tags(str_replace("'","`",$_REQUEST["tabs"])):'';
    $urine = (!empty($_REQUEST["urine"]))?strip_tags(str_replace("'","`",$_REQUEST["urine"])):'';

Это подтверждение по электронной почте

$message .="Name: ".$name;
$message .="<br />Email: ".$email;
$message .="<br />Phone: ".$phone;
$message .="<br />Quantity: ".$qty;
$message .="<br />Address: ".$comments;
$message .="<br />Drop off Time: ".$dropoff;
$message .="<br />Machine: ".$eventInf[0].;
$message .="<br />Deodoriser: ".$deodoriser;
$message .="<br />Carpet Protector: ".$carpet;
$message .="<br />Carpet Repair Tools: ".$carpetrepair;
$message .="<br />Furniture Moving Equipment: ".$furniture;
$message .="<br />Furniture Tabs: ".$tabs;
$message .="<br />Urine Decontamination Treatment: ".$urine;            
$message .="<br />Booking date: ".$eventInf[2]."<br />";
$message .="<br />Reservation Status: Not Confirmed<br />";
$message .="<br /><br />Kind Regards, <br /> ".$_SERVER['HTTP_HOST']." Website";    

Спасибо за любую помощь / совет, я просмотрел все подобные вопросы здесь и несколько дней пытался заставить его работать, но просто не могу этого сделать.

Ответы [ 4 ]

1 голос
/ 08 апреля 2011

Вы можете использовать флажки и сохранять значения в массиве:

<input type="checkbox" name="extras[]" value="Deodoriser" />
<input type="checkbox" name="extras[]" value="Carpet" />
<input type="checkbox" name="extras[]" value="Furniture" />

Затем переберите массив $ _POST ['extras'], чтобы вывести значения

foreach($_POST['extras'] as $extra)
{
    $message .="<br />Extra: ".$extra;
}
1 голос
/ 08 апреля 2011

Вы создаете их в HTML-форме как флажок типа ввода.Все флажки должны иметь одинаковое имя с квадратными скобками в конце для обозначения массива PHP:

<input type="checkbox" name="options[]" value="value"/>

Когда вы отправляете форму, значения всех отмеченных флажков будут доступны в виде массива внутри вашегоGET или POST суперглобальный массив под именем, которое вы дали ему, так что вы можете зацикливаться так:

$options = $_GET['options'];
foreach ($options as $option) {
  // $option will now hold the "value" of the checkbox being processed
}
0 голосов
/ 08 апреля 2011

Вместо вашего strip_tags(str_replace()) Просто вставьте строку. * например 1002 *

$deodoriser = !empty($_REQUEST["deodoriser"]) ? 'Deodoriser' : '';

Наряду с настройкой type="checkbox" в вашем html.

И вместо value= вам нужно установить checked="checked" в вашем HTML для каждого, если вы хотите предварительно проверить его.

0 голосов
/ 08 апреля 2011

Установите тип ввода «флажок».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...