它说我有一个错误,我希望我做的一切都正确。我现在正在使用localhost ..这可能是问题吗?如果不是的话。
我在这一行收到错误
$name = $_POST['name'];
代码:
<?php
$name = $_POST['name'];
$to = "Lennyperez@mail.com";
$subject = "add this";
mail ($to, $subject, $name);
?>
<form action="submit.php" method="post" name="contact_form">
<input name="name" id="name" type="text">
<input type="submit" name="submit" id="sumitbtn" value="submit">
</form>
答案 0 :(得分:1)
可能有很多因素导致您的邮件表格出现问题。
检查系统上是否已安装并正确配置mail()
。
使用其他headers()
;一个是From:
代码中缺少的mail()
,但不是必需的。
邮件仍会尝试发送,但最终可能会被发送到垃圾邮件或被忽略。
为提交按钮和<?php
if (isset($_POST['submit']) && !empty($_POST['name'])){
$name = $_POST['name'];
$to = "email@example.com";
$subject = "add this";
$headers="From: $name <email@example.com>";
$sent = mail($to, $subject, $name, $headers);
if($sent) {
echo "Success.";
} else {
echo 'Sorry, your message could not be sent.';
}
} // brace for submit conditional statement
?>
成功使用条件语句,包括检查字段是否为空。
以下内容已在我的INBOX中成功测试,发送和接收。
PHP
<?php
if (isset($_POST['submit']) && !empty($_POST['name'])){
$name = $_POST['name'];
$from = "user@example.com";
$to = "your@example.com";
$subject = "add this";
$headers="From: $name <$from>";
$sent = mail($to, $subject, $name, $headers);
if($sent) {
echo "Success";
} else {
echo 'Sorry, your message could not be sent.';
}
} // brace for submit conditional statement
?>
您还可以使用以下内容:
{{1}}
<强>脚注:强>
答案 1 :(得分:0)
mail()
在没有外部库的情况下无法在localhost上运行。
此外,您需要在isset
$_POST['name'];
if (isset($_POST)){
$name = $_POST['name'];
$to = "email@email.com";
$subject = "this";
mail ($to, $subject, $name);
}
另外不要忘记查看标题!
答案 2 :(得分:0)
执行以下操作:在未提交表单之前,未设置$_POST['name']
变量
<?php
if (isset($_POST)) {
$name = $_POST['name'];
$to = "Lennyperez@mail.com";
$subject = "add this";
mail ($to, $subject, $name);
}
?>
答案 3 :(得分:0)
首先让你的工作:
<?php
mail("Lennyperez@mail.com", "add this", "name");
,再次提问。
答案 4 :(得分:0)
当页面加载时,它没有找到帖子变量,这是正常的,因为你没有点击提交按钮,只有在按下提交按钮后你的$_POST['name']
才会存在。
解决方案1:
添加条件,仅当单击按钮提交时才会发送邮件。
<?php
if (isset($_POST['name'])) {
$name = $_POST['name'];
$to = "Lennyperez@mail.com";
$subject = "add this";
mail ($to, $subject, $name);
}
?>
解决方案2:
包含您的操作页面
中的表单的单独HTML文件答案 5 :(得分:0)
我假设你收到了未定义的通知,如果是这样,请放弃其中一个步骤。
Add @$name= $_POST['name'];
OR error_reporting(E_ALL ^ E_NOTICE);