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

Php 更改与字符串匹配的POST变量,php,Php,我正在写一个简单的PHP表单。对于表单中的一个字段,如果变量的内容与字段占位符中的文本匹配,则我希望替换该变量的内容,这样它就不会在电子邮件中发送 <p>Base Colour Preference <input type="text" name="basecolour" value="ENTER BASE COLOUR"> </p> 应该改变变量,不是吗?相反,它通过电子邮件发送原始字符串“输入基本颜色”。以下是全部代码: <?php

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

<p>Base Colour Preference
        <input type="text" name="basecolour" value="ENTER BASE COLOUR">
</p>
应该改变变量,不是吗?相反,它通过电子邮件发送原始字符串“输入基本颜色”。以下是全部代码:

<?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";
}

?>

非常感谢您的帮助!我还在学习:)

你需要添加这个

$message = "From: $name \nBase Colour: $basecolour \nHighlight Colour: $highlightcolour \nComments: $comments";
在您的
if
语句之后


原因:因为您已经将值
输入基色
分配给
$message
变量

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

您应该使用HTML5占位符属性,而不是将其插入值中,因为现在所有的现代浏览器都支持HTML5。然后 如果表单是强制性的,请验证表单,或者在表单处理中检查null,并在消息正文中提供适当的值

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

“我还在学习”学习如何使用输入验证和转义。这是第一个要做的。
  <input type="text" name="basecolour" value="" placeholder="ENTER BASE COLOUR">