我正在编写一个简单的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";
}
?>
非常感谢任何帮助!我还在学习:)。
答案 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">