我是HTML和PHP编程的新手。 当我从表单提交数据时,POST不会从表单中获取值,而只是空值会被邮寄。为此花了相当多的时间但是无法解决这个问题。
以下是我的HTML表单代码的一部分
<form id="main-contact-form" class="contact-form" name="contact-form" method="POST" action="sendemail.php">
<div class="form-group">
<input type="text" name="namefirst" class="form-control" required="required" placeholder="Name">
</div>
<div class="form-group">
<input type="email" name="emailfirst" class="form-control" placeholder="Email ID">
</div>
<div class="form-group">
<input type="tel" name="tel" class="form-control" placeholder="Mobile No">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary pull-right">Send</button>
</div>
</form>
以下是我的PHP代码
<?php
header('Content-type: application/json');
$status = array(
'type'=>'success',
'message'=>'Thank you for registering wth us.We will keep updating you.'
);
{
$name = $_POST["namefirst"];
$email = @trim(stripslashes($_POST["emailfirst"]));
$email_from = $email;
$email_to = '****';//replace with your email
$body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" ;
$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
echo json_encode($status);
}
?>
我已经尝试了所有可能的解决方案,但它只是不起作用。请让我知道这有什么问题。
答案 0 :(得分:0)
我想出来..问题不是PHP或HTML文件,它是javascript代码,值没有得到设置@MueyiwaMosesIkomi感谢很多becoz这个我有这个问题所以解决这个我做了以下的事情: 我的代码更早了:
var form = $('.contact-form');
form.submit(function () {'use strict',
$this = $(this);
$.post($(this).attr('action'), function(data) {
$this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
},'json');
return false;
});
没有发送值。在此代码之后工作;
var form = $('.contact-form');
var namefirst= $('.contact-form' . 'namefirst').val();
form.submit(function () {'use strict',
$this = $(this);
$.post($(this).attr('action'), function(data) {
$this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
},'json');
return false;
});
现在它的发送值但是它会在下一页上显示php echo,因为它不是编码Json所以我thnik
$this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
},'json');
这部分代码无效......任何人都可以帮忙解决这个问题吗??????
谢谢大家