$ POST从HTML表单

时间:2016-11-09 20:31:14

标签: php html

我是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);
}

?>

我已经尝试了所有可能的解决方案,但它只是不起作用。请让我知道这有什么问题。

1 个答案:

答案 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');

这部分代码无效......任何人都可以帮忙解决这个问题吗??????

谢谢大家