更改与字符串匹配的POST变量

时间:2014-01-08 06:31:49

标签: php

我正在编写一个简单的PHP表单。对于表单中的一个字段,我想替换变量的内容,如果它与字段占位符中的文本匹配,那么它就不会在电子邮件中发送。

<p>Base Colour Preference
        <input type="text" name="basecolour" value="ENTER BASE COLOUR">
</p>

+

if ($basecolour == "ENTER BASE COLOUR") {
    $basecolour = "No colour chosen";
}

应该改变变量,不应该吗?而是通过电子邮件发送原始字符串“ENTER BASE COLOR”。这是完整的代码:

<?php 

$name = $_POST['name'];
$email = $_POST['email'];
$basecolour = $_POST['basecolour'];
$highlightcolour = $_POST['highlightcolour'];
$comments = $_POST['comments'];

$header = "from <$email>";

$message = "From: $name \nBase Colour: $basecolour \nHighlight Colour: $highlightcolour \nComments: $comments";

$to = "me@me.com.au";

$subject ="Preorder Registration";

if ($basecolour == "ENTER BASE COLOUR") {
    $basecolour = "No colour chosen";
}

if ($name == "YOUR NAME") {
echo "Please enter your name";
}

if ($email == "YOUR EMAIL") {
    echo "Please enter your email address";
}

else {
mail($to, $subject, $message, $header) or die("error!");
echo "DONE";
}

?>

非常感谢任何帮助!我还在学习:)。

2 个答案:

答案 0 :(得分:2)

您需要添加此

$message = "From: $name \nBase Colour: $basecolour \nHighlight Colour: $highlightcolour \nComments: $comments";

if 声明之后

原因:因为您已将值ENTER BASE COLOUR分配给$message变量。

答案 1 :(得分:0)

我的强烈建议不是一个有效的答案:

您应该使用HTML5占位符属性,而不是将其插入值中,因为所有现代浏览器现在都支持html5。然后 验证您的表单是否是强制性的,或者在表单处理中检查为空,并在您的邮件正文中给出适当的值。

  <input type="text" name="basecolour" value="" placeholder="ENTER BASE COLOUR">