首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中访问Ajax发送的POST值

在PHP中访问Ajax发送的POST值
EN

Stack Overflow用户
提问于 2016-10-24 09:34:43
回答 1查看 74关注 0票数 0

我正在使用Ajax从表单中获取POST值。但是,当我尝试在提交时在数据库中插入表单值时,它没有被插入。我仍然不知道为什么它不能工作。

这是我的HTML

代码语言:javascript
复制
<form method="post" action="" id="home-sign-up-form">
    <input type="text" name="suFirstName" placeholder="First Name" class="text-input-minor" id="sign-up-first-name-text-input">
    <input type="text" name="suLastName" placeholder="Last Name" class="text-input-minor" id="sign-up-last-name-text-input">
    <input type="text" name="suEmail" placeholder="Email" class="text-input-minor" id="sign-up-email-text-input">
    <input type="password" name="suPassword" placeholder="Password" class="text-input-minor" id="sign-up-password-text-input">
    <input type="password" name="suConfirmPassword" placeholder="Confirm Password" class="text-input-minor" id="sign-up-confirm-password-text-input">
    <input type="text" name="suDisplayName" placeholder="Display Name (you can change this later)" class="text-input-minor" id="sign-up-display-name-text-input">
    <br><font class="text-error" id="sign-up-error-text"></font><br>
    <label><input type="checkbox" name="suRememberMe" value="yes" id="sign-up-remember-me-checkbox"><font id="sign-up-remember-me-text">Remember me</font></label>
    <input name="signUp" type="submit" value="Sign Up" id="sign-up-submit">
</form>

我的JS (第一个console.log确实通过并工作):

代码语言:javascript
复制
if (validForm)
{
    console.log("valid form");
    console.log(JSON.stringify($('#home-sign-up-form')[0].seriaize()));
    $.ajax(
    {
        type:'POST',
        url:'form-submit.php',
        data:$('#home-sign-up-form')[0].serialize(),
        success:function(response)
        {
            $suForm.hide();
            $tosppText.hide();
            $mailSentIcon.show();
            $emailSentText.show();
            $emailSentTextEmail.text($suEmail);
            $suBox.css("padding-left", "10px");
            $suBox.css("padding-right", "10px");
        }
    });     
}

和我的PHP/MySQL:

代码语言:javascript
复制
<?php require 'dbconnect.php'; ?>
if (isset($_POST['suEmail']))
{
    echo "<script type='text/javascript'>alert('got');</script>";
    $suFirstName = mysqli_real_escape_string($_POST['suFirstName']); 
    $suLastName = mysqli_real_escape_string($_POST['suLastName']); 
    $suEmail = mysqli_real_escape_string($_POST['suEmail']); 
    $suPassword = mysqli_real_escape_string($_POST['suPassword']);
    $suDisplayName = mysqli_real_escape_string($_POST['suDisplayName']);
    $code = substr(md5(mt_rand()),0,15);

    $query = $connection->query("INSERT INTO users (firstName,lastName,email,password,displayName,confirmCode,verified)Values('{$suFirstName}','{$suLastName}','{$suEmail}','{$suPassword}','{$suDisplayName}','{$confirmCode},'{$verified}')");
}

在PHP代码中的警报,所以我假设它没有得到'signUp‘POST变量。非常感谢!感谢任何帮助!:D

EN

回答 1

Stack Overflow用户

发布于 2016-10-24 12:30:45

代码语言:javascript
复制
$("#home-sign-up-form").submit(function(event) {
  alert("Handler for .submit() called.");
  event.preventDefault();
  $.ajax({
    type: 'POST',
    url: 'form-submit.php',
    data: $('#home-sign-up-form').serialize(),
    success: function(response) {
      console.log(response);
      var data = JSON.parse(response);
      $suForm.hide();
      $tosppText.hide();
      $mailSentIcon.show();
      $emailSentText.show();
      //$emailSentTextEmail.text($suEmail);
      $emailSentTextEmail.text(data.suEmail);
      $suBox.css("padding-left", "10px");
      $suBox.css("padding-right", "10px");
    }
  });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<form method="post" action="" id="home-sign-up-form">
  <input type="text" name="suFirstName" placeholder="First Name" class="text-input-minor" id="sign-up-first-name-text-input">
  <input type="text" name="suLastName" placeholder="Last Name" class="text-input-minor" id="sign-up-last-name-text-input">
  <input type="text" name="suEmail" placeholder="Email" class="text-input-minor" id="sign-up-email-text-input">
  <input type="password" name="suPassword" placeholder="Password" class="text-input-minor" id="sign-up-password-text-input">
  <input type="password" name="suConfirmPassword" placeholder="Confirm Password" class="text-input-minor" id="sign-up-confirm-password-text-input">
  <input type="text" name="suDisplayName" placeholder="Display Name (you can change this later)" class="text-input-minor" id="sign-up-display-name-text-input">
  <br><font class="text-error" id="sign-up-error-text"></font>
  <br>
  <label>
    <input type="checkbox" name="suRememberMe" value="yes" id="sign-up-remember-me-checkbox"><font id="sign-up-remember-me-text">Remember me</font>
  </label>
  <input name="signUp" type="submit" value="Sign Up" id="sign-up-submit">
</form>

<?php
if (isset($_POST['suEmail']))
{
  $con=mysqli_connect("localhost","root","cakpep","backoffice");

  // Check connection
  if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
    $suFirstName = mysqli_real_escape_string($con,$_POST['suFirstName']);
    $suLastName = mysqli_real_escape_string($con,$_POST['suLastName']);
    $suEmail = mysqli_real_escape_string($con,$_POST['suEmail']);
    $suPassword = mysqli_real_escape_string($con,$_POST['suPassword']);
    $suDisplayName = mysqli_real_escape_string($con,$_POST['suDisplayName']);
    $code = substr(md5(mt_rand()),0,15);

    $query = $connection->query("INSERT INTO users (firstName,lastName,email,password,displayName,confirmCode,verified)Values('{$suFirstName}','{$suLastName}','{$suEmail}','{$suPassword}','{$suDisplayName}','{$confirmCode},'{$verified}')");
    echo json_encode($_POST);
}
?>

在提交表单时添加此触发器,然后在php上返回带有json字符串的响应回显json_encode($_POST);

  • and,然后在响应中ajax将json文本解析为对象,如下所示$("#home-sign-up-form").submit(function(event) {

  • and $(“#home-sign-up-form”).submit(function(event){

  • and=JSON.parse(

  • );$emailSentTextEmail.text(data.suEmail);

  • i希望这就是您想要的..
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40209590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档