您的表单有一些问题,我在发布此答案之前对其进行了测试.
正如Jeremy Miller在他的回答(1 Jeremy btw)中指出的那样,在变量中使用连字符是无效的,而是使用下划线.
在’X-Mailer:PHP /’之后你也错过了一个结束分号. phpversion()顺便说一句,你不应该使用(出于安全目的),但是……如果你绝对想要使用它,就像这个’X-Mailer:PHP /’一样添加它. phpversion(); – 请参阅下面的EDIT(暗示用法).
这$msg =“邮件发送”;成功提交后不会打印“邮件已发送”消息,因为您只是将变量分配给文本;你需要回应我在下面添加的内容;这不是一个错误,但如果你不打算使用它,为什么要这样做. (眨眼).
HTML表单
Submit a Link
You | |
Link(s) | |
PHP
error_reporting(-1);
$name = $_POST['name'];
$submit_links = $_POST['submit_links'];
if(isset($_POST['submit']))
{
$from_add = "submit@webdesignrepo.com";
$to_add = "ben@webdesignrepo.com";
$subject = "Your Subject Name";
$message = "Name:$name \n Sites: $submit_links";
$headers = 'From: submit@webdesignrepo.com' . "\r\n" .
'Reply-To: ben@webdesignrepo.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to_add,$subject,$message,$headers))
{
$msg = "Mail sent";
echo $msg;
}
}
print "
Thanks $name
" ;?>
编辑(暗示用法)
我建议你使用下面的PHP,因为你现在的条件语句会抛出以下错误,如果直接访问PHP文件,可能会发生.
另外,使用’X-Mailer:PHP /’. phpversion()让人们知道你正在使用哪个PHP版本.
我有很好的权威,使用它是一个安全漏洞.他的名字现在逃脱了我,但是一旦我记得,我会加上它.
Notice: Undefined index: name in… on line 4
Notice: Undefined index: submit_links in… on line 5
我已经在if(isset($_ POST [‘submit’]))条件语句中设置了变量.
error_reporting(-1);
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$submit_links = $_POST['submit_links'];
$from_add = "submit@webdesignrepo.com";
$to_add = "ben@webdesignrepo.com";
$subject = "Your Subject Name";
$message = "Name:$name \n Sites: $submit_links";
$headers = 'From: submit@webdesignrepo.com' . "\r\n" .
'Reply-To: ben@webdesignrepo.com' . "\r\n";
if(mail($to_add,$subject,$message,$headers))
{
$msg = "Mail sent";
echo $msg;
}
print "
Thanks $name
" ;}
// else conditional statement for if(isset($_POST['submit']))
else {
echo "Sorry, you cannot do that from here. Please fill in the form first.";
}
?>