2016-08-12 67 views
-3

我是一个PHP noob,所以我不知道在我的消息变量中写什么。我需要将表单中的数据发送到电子邮件。我得到了一个textarea,2个输入(姓名,电子邮件)。希望将来自输入的文本发送到我的电子邮件。下面的代码我有:不知道在我的消息变量中写什么?

<? 
if((isset($_POST['name'])&&$_POST['name']!="") && (isset($_POST['phone'])&&$_POST['phone']!="")){ 
    $to = '[email protected]'; 
    $subject = 'Обратный звонок'; 
    $message; 
    $headers = "Content-type: text/html; charset=utf-8 \r\n"; 
    $headers .= "From: Отправитель <[email protected]>\r\n"; 
     mail($to, $subject, $message, $headers); 
} 
?> 

<form action="send.php" class="postcard" method="post"> 
<span>Your message:</span> 
<textarea type="text" value="" required></textarea> 
<div id="stripe1"></div> 
<div id="stripe2"></div> 
<img src="./images/Seal_of_the_United_States_Department_of_the_Post_Office.svg. png" alt="Oops" id="seal" /> 
<img src="./images/stamp.jpg" alt="Stamp" id="stamp" /> 
<div class="inputs"> 
<div class="inputs" id="input1"><label for="to" type="text" id="to">to: </label> <input type="text" value="  Me" readonly><div id="stripe3"></div></div> 
<div class="inputs" id="input2"><label for="from" type="text" id="from">from: </label> <input type="text" id="input2"><div id="stripe3"></div></div> 
<div class="inputs" id="input3"><label for="email" type="text" id="email">email: </label> <input type="text" id="input3"><div id="stripe3"></div></div> 
<button type="button" class="btn btn-primary" id="send_button">Send</button> 
</form> 
+0

[Here](http://php.net/manual/en/tutorial.forms.php)。 – Script47

+0

btw,你可以用if(!empty($ _ POST ['name'])替换if((isset($ _ POST ['name'])&& $ _ POST ['name']!=“”))! –

+0

使用'empty'时,在您的验证中添加'trim'。 – Script47

回答

0

你可以让你的消息的HTML字符串,或只是简单的文本。 对于纯文本,你可以这样做

$message .= "name: ".$_POST['name']."\r\n"; 
$message .= "Message: ".$_POST["theMessage"]; 

但是你需要在HTML命名您的输入,以及, 所以

<input type="text" id="input2" name="name"> 
<textarea type="text" value="" required name="theMessage"></textarea> 

或同级。

对于从地址,你必须使用更改标题行 变化

$headers .= "From: Отправитель <[email protected]>\r\n"; 

$headers .= "From: ".$_POST["name"]." <".$_POST["from"].">\r\n"; 

很显然据此命名您的输入:

<input type="text" id="input3" name="from"> 

而且,正如其他人所建议的那样,您应该先清除/验证这些值 使用它们。

+0

我希望这个消息来自一个textarea value –

+0

我已经添加了更改。你需要命名textarea,然后像在PHP中的其他变量一样对待它。 – SilicaGel

+0

没有验证或消毒,真的吗?你必须真正相信你的用户。 – Script47

相关问题