2015-03-31 58 views
-1

設置$從變量郵件功能我有一個形式,下面的代碼現在無法在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

回答

1

你的$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