在if语句中未设置变量

时间:2017-01-22 15:15:39

标签: php html

我有一个表单,其中一旦填写它就会向用户发送一封电子邮件,并根据他们在下拉列表中选择的选项给出价格。

我有一个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>

1 个答案:

答案 0 :(得分:2)

在为变量

设置任何值之前,您正在检查$Property_Value

您必须先设置该值,然后检查该变量的任何条件,如:

$Property_Value = $_POST['Property_Value'];

if ($Property_Value == '1to2') {
    $Price = '£300';
}