我的PHP代码:
$myemail = myemail;
$subject = "success";
if(isset($_POST['firstname'])){ $name = $_POST['firstname']; }
if(isset($_POST['lastname'])){ $price = $_POST['lastname']; }
$message = "$firstname $lastname";
mail($myemail, $subject, $message);
我的html使用twitter bootstrap:
<form class="form-horizontal" name="application" method="POST" action="submission.php">
<legend></legend>
<div class="control-group">
<label class="control-label" for="firstname">First Name</label>
<div class="controls">
<input type="text" id="firstname" name="firstname" placeholder="First Name">
</div>
</div>
<div class="control-group">
<label class="control-label" for="lastname">Last Name</label>
<div class="controls">
<input type="text" id="lastname" name="lastname" placeholder="Last Name">
<button type="submit" class="btn btn-success" id="submit">Submit</button>
</div>
</div>
</form>
我收到了电子邮件,但身体里什么都没有。
答案 0 :(得分:1)
您使用的是错误的变量。 $name
和$price
位于:
$name = $_POST['firstname']; // should be $firstname
$price = $_POST['lastname']; // should be $lastname
&安培;结合:
$message = "$firstname $lastname";
将其更改为:
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
或 使用$message = "$name $price";
,同时保留其余代码不变。无论哪种方式,变量都需要匹配并在整个代码执行过程中保持一致。
使用错误报告:
会发出未定义的索引错误信号。
附加说明:
您的代码不包含其他标头,尤其是From:
,它会被许多服务器拒绝,或最终位于Spam。
使用正确的邮件标题:
根据文件:
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
答案 1 :(得分:0)
if(isset($ _ POST ['firstname'])){$ name = $ _POST ['firstname']; } if(isset($ _ POST ['lastname'])){$ price = $ _POST ['lastname']; }
$ message =“$ firstname $ lastname”;
你一定是在开玩笑。 $ name = ... $ price = ... ...“$ firstname $ lastname” 没有为$ firstname / $ lastname变量赋值,也许使用“$ name $ price”代替?