目前我正在學習PHP的Web界面類,而我們的任務之一是產生一種基本形式,以發送一封電子郵件,只返回第一個字。然後,我們必須能夠通過html在電子郵件中發送該表單的樣本。我想這樣做,顯示發送電子郵件時輸入的輸入。我已經完成了大部分工作,我只是無法讓$ subject變量在樣本中完全填充。它只會顯示一個單詞,並在第一個空格字符後跳過所有其他單詞。 ($ from變量也是如此,但這通常是一個電子郵件地址,因此它不是一個主要問題)
例如,如果我發送的郵件中包含「This is a test」這個主題,當我收到我的收件箱中的電子郵件時,我會在我的電子郵件主題行中看到完整的主題「這是一個測試」。但是,當我打開電子郵件本身並查看生成的表單樣本時,我只會將「This」視爲填充主題。
我使用的輸入型=「文本」標籤,進入主題,我想這是部分原因。我可以使用textarea標籤來解決問題,但這不是非常傳統的,似乎打敗了練習的目的。任何幫助表示讚賞。謝謝!
這裏是我的代碼:(。第一塊是剛剛生成形式的函數)
function createForm() //create form upon page load
{
echo '<form method="post">' . '<br />';
echo '<fieldset>' . '<br />';
echo '<legend><p>Heading</p></legend>' . '<br />';
echo 'To: <input name="to" type="text" />' . '<br />';
echo 'From: <input name="from" type="text" />' . '<br />';
echo 'Subject: <input name="subject" type="text" />' . '<br />';
echo '</fieldset>' . '<br />';
echo '<fieldset>' . '<br />';
echo '<legend><p>Content</p></legend>' . '<br />';
echo 'Message: <textarea name="message" cols="30" rows="10"></textarea>' . '<br />';
echo '<input name="send" type="submit" />' . '<br />';
echo '</fieldset>' . '<br />';
echo '</form>';
}
和實際的發送電子郵件代碼:
if(isset($_REQUEST['to'])) //send email
{
$to = $_REQUEST['to'];
$subject = $_REQUEST['subject'];
$from = $_REQUEST['from'];
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= 'Content-Type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: $from" . "\r\n";
$headers .= "Reply-To: $from" . "\r\n";
$headers .= "Subject: $subject" . "\r\n";
$headers .= "X-Mailer: PHP/".phpversion() . "\r\n";
//html message
$message = '
<html>
<body>
<form>
<fieldset>
<legend>Headings</legend>
To: <input type="text" name="to" value=' . $_REQUEST['to'] . ' /><br />
From: <input type="text" name="from" value=' . $_REQUEST['from'] . ' /><br />
Subject: <input type="text" name="subject" value=' . $_REQUEST['subject'] . ' />
</fieldset>
<fieldset>
<legend>Content</legend>
Message: <textarea name="message" cols="30" rows="10">' . $_REQUEST['message'] . '</textarea><br />
<input type="submit" name="send" />
</fieldset>
</form>
</body>
</html>';
mail($to,$subject,$message,$from,$headers);
echo "Message sent, thank you. <br />";
echo '<a href="email.php">Return</a>';
}
else
{
createForm(); //create form if no $to set.
}
爲什麼你在發送的電子郵件另一種形式?我認爲你的代碼可能更簡單。 – Maximus2012
和你應該改變'/ R/N'爲'\ r \ N' – user20232359723568423357842364
這是什麼賦予我們的教授。除了向客戶發送樣品之外,我知道這通常不會使用太多。但是,無論如何,它的任務。 –