【发布时间】:2017-05-15 16:12:46
【问题描述】:
我正在尝试使用 php 创建联系表单,但遇到了一些麻烦。
条件:isset($_POST['submit']) 总是产生 false,即使我只是提交一个空白页。
这是我的代码:
contact.html 部分:
<form action='emailto.php' method='POST' enctype='text/plain'>
First Name:<br>
<input type='text' name='firstname'><br>
Last Name:<br>
<input type='text' name='lastname'><br>
Email Address:<br>
<input type='text' name='emailadd' ><br>
Subject:<br>
<input type='text' name='subject' ><br>
Message:<br>
<textarea name='message' rows=5 cols=30 ></textarea><br><br>
<input type='submit' value='Send' name='submit'>
</form>
emailto.php:
<?php
if (isset($_POST['submit'])) {
$to = "emailaddress";
$subject = $_POST['subject'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$Emailadd = $_POST['emailadd'];
$Message = $_POST['message'];
$Body= "";
$Body .= $firstname;
$Body .= $lastname;
$Body .= "\n";
$Body .= $Emailadd;
$Body .= "\n";
$Body .= $Message;
mail($to,$subject,$Body);
echo "Mail Sent! <a href='contact.html'>Go Back</a>";
} else {
header("Location: contact.html");
exit(0);
}
?>
此外,奇怪的是,如果我删除 emailto.php 中的 if-else 语句, 提交后会报错: undifined index: subject, firstname, lastname, emailadd, message...
我完全糊涂了.. 期待听到一些建议。 提前致谢。
【问题讨论】:
-
另请注意,
isset()对于定义为空字符串的变量(例如空白 POST 数据字段)返回 true。