无法在PHP

问题描述:

设置$从变量邮件功能我有一个形式,下面的代码现在无法在PHP

<input type=text name=sender maxlength="50"/> 
<input type=email name=mail /> 
<input type=text name=title maxlength="150"/> 
<textarea name=issue rows=6></textarea> 
<button name="submit" type=submit>Submit</button> 

<?php 
if (!empty($_REQUEST['sender'])&&!empty($_REQUEST['mail'])&&!empty($_REQUEST['issue']) &&!empty($_REQUEST['title'])) { 
$sender=$_REQUEST['sender']; 
$email=$_REQUEST['mail']; 
$issue=$_REQUEST['issue']; 
$title=$_REQUEST['title']; 
$from="$sender : $email"; 
mail("mail to send to", $title, $issue, $from); 
} 
?> 

,问题是,我得到ipg.apnasikkacom名称和[email protected]作为电邮地址。这是为什么发生?

+0

也许这是你填写的形式? – 2015-03-31 14:36:51

+0

首先关闭所有变量,尝试使用'var_dump'。 – 2015-03-31 14:37:09

+0

我没有看到表单标签;发布方法,你真的应该为你的元素使用引号。在尝试任何操作之前,请花时间阅读本手册http://php.net/manual/en/function.mail.php – 2015-03-31 14:40:59

你的$from变量实际上应该是一个list of headers,用换行符分隔。恰巧发送的其中一个头也是From头。

您如何构建from标题不正确。如果我把我的名字在搜索框与我的电子邮件一起,这头看起来像:

watcher: [email protected] 

它实际上应该看起来更像是这样的:

From: watcher <[email protected]> 

您可以了解更多的信息From标题的结构RFC2822

+0

OP的发布代码中有太多未知数。缺少表单标签,发布方法以及谁知道他们是否使用Ajax。 – 2015-03-31 14:45:49

+0

我同意,对我来说,这是最明显的问题,必须用他的问题做最多。 – 2015-03-31 14:46:26

+0

*如果我有一个镍.... *大声笑我想你知道剩下的表达如何。我只是希望OP不会回来说:*“但它不起作用”* - 我们以前见过多少次? ;-) – 2015-03-31 14:48:00