我有一个表单,其中一旦填写它就会向用户发送一封电子邮件,并根据他们在下拉列表中选择的选项给出价格。
我有一个if语句,可以看到在下拉列表中选择了哪个选项。在if语句中,它应该将$ Price变量设置为$ Price ='£300';
然后将$ Price变量添加到要发送的$ body变量中。 $ Price变量的值不会显示在电子邮件中,但是当我接受$ Price ='£300'时;在if语句中,它在电子邮件中可见。
我已确定问题不是选项下拉选项,因为当变量放在echo'Sent',$ Price中时它会起作用;
PHP:
if ($Property_Value == '1to2') {
$Price = '£300';
}
$name = $_POST['name'];
$email = $_POST['email'];
$from = 'From: BungeeDesign.com';
$to = $email;
$subject = 'Email Inquiry';
$Property_Value = $_POST['Property_Value'];
$body = "From: $name\n E-Mail: $email\n Price:\n $Price\n Selection:\n $Property_Value";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo 'Sent';
} else {
echo '<p>Oops! An error occurred. Try sending your message again.</p>';
}
}
?>
HTML:
<div class="quoteForm">
<form action="formAct.php" method="post">
<li class="liFeilds">Name*:</li>
<input type="text" name="name" placeholder="e.g. John Appleseed" required="yes" />
<li class="liFeilds">Email*:</li>
<input type="email" name="email" placeholder="e.g. email@email.com" required="yes" />
<li class="liFeilds">Phone:</li>
<input type="number" name="phone" placeholder="e.g. 07789236519" />
<li class="liFeilds">Postcode*:</li>
<input type="text" name="pc" placeholder="e.g. BN2 0AQ" required="yes" />
<li class="liFeilds">Building Name/Number*:</li>
<input type="text" name="addr" placeholder="e.g. 24 Lyndhurst Road / Palm Court" required="yes" />
<li class="liFeilds">Property Value*:</li>
<select class="propVal" name="Property_Value" required>
<option value="1to2">£100,000 - £200,000</option>
<option value="2to3">£200,001 - £300,000</option>
<option value="3to4">£300,001 - £400,000</option>
<option value="4to5">£400,001 - £500,000</option>
<option value="5to6">£500,001 - £600,000</option>
<option value="6to7">£600,001 - £700,000</option>
<option value="7to8">£700,001 - £800,000</option>
<option value="8up">Over £800,000</option>
</select>
<button name="submit" type="submit" value="Submit">Get Estimate</button>
</form>
</div>
答案 0 :(得分:2)
在为变量
设置任何值之前,您正在检查$Property_Value
您必须先设置该值,然后检查该变量的任何条件,如:
$Property_Value = $_POST['Property_Value'];
if ($Property_Value == '1to2') {
$Price = '£300';
}