[英]Form is not sending data via Post
我知道这个问题看起来很愚蠢,但是我一直在努力解决这一问题。 我读了有关不发送数据的表单的主题,但问题的主要原因是缺少name属性。 由于我的情况看起来很简单,所以我感到非常困惑。 我有一个表格:
<h3>Send a message</h3>
<div class="status alert alert-success" style="display: none"></div>
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
<div class="form-group">
<input type="text" name="name" class="form-control" required="required" placeholder="Name">
</div>
<div class="form-group">
<input type="email" name="email" class="form-control" required="required" placeholder="Email ID">
</div>
<div class="form-group">
<textarea name="message" id="message" required="required" class="form-control" rows="4" placeholder="Enter your message"></textarea>
</div>
<button type="submit" name="submit_mail" class="btn btn-primary pull-right">Send</button>
</form>
并且我正在尝试使用php发送电子邮件:
<?php
include 'php/functions.php';
$status = array(
'type'=>'success',
'message'=>'Thank you for contact us. As early as possible we will contact you '
);
$name = @trim(stripslashes($_POST['name']));
$email = @trim(stripslashes($_POST['email']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));
$email_from = $email;
$email_to = 'correct@email.com';//replace with your email
$body = 'Name:' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;
$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
echo json_encode($status);
die;
?>
结果是:电子邮件已发送给我,但其内容为空。 如果未设置POST,则使用小的调试工具将名称设置为“ No name” 。 在电子邮件正文中,我得到“姓名:无姓名;” 这个问题似乎很简单,但由于我是Web开发的新手,所以无法解决。 无论如何,我将不胜感激任何建议。 最好的问候,帕维尔
请注意,您的“提交”按钮没有任何名称属性。
更改为:
<button type="submit" name="submit" class="btn btn-primary pull-right">Send</button>
另外,您可能想重新检查您的登录名。 您的邮件功能应在if(isset(...))中。 否则,即使表单值未保存到数据库,也会向用户发送空白邮件。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.