Как вставить данные в базу данных через jQuery Ajax в php - PullRequest
0 голосов
/ 26 июня 2018

enter image description here Здравствуйте, стек прямо сейчас Я столкнулся с проблемой. Я не могу вставить данные в базу данных через jQuery Ajax. Я вложил все связанные файлы. Может кто-нибудь пройти через это? Я новичок в разработке php.

**task.php**

<html>
<head>
<style type="text/css">

    html, body {
        margin: 5px;
        padding: 5px;
        background: #fff;
    }

    form {
        border: 1px solid #999;
        padding: 0.25em;
        background: #EEE;

    }

    div {
        padding-bottom: 0.25em;
    }

    /* essential */
    label {
        float: left;
        width: 6em;
        text-align: right;
        padding-right: 0.5em;
    }

    input, textarea {
        text-align: left;
        width: 200px;
        height:30px;
    }

    input.submit {
        margin-left: 6.5em;
        width: auto;
    }


    label, input.submit {
        font: normal 0.8em Verdana, Geneva, Arial, Helvetica, sans-serif;
    }
</style>
<script src="jquery-3.3.1.js"></script>
<script src="insert.js"></script>

<script>
</script>
</head>
<body>
<h1>FORM</h1>
<form>
    <div>
        <label>Name:</label>
        <input type="text" name="name" id="Name" />
    </div>
    <div>
        <label>Age:</label>
        <input type="text" name="age" id="age"/>
    </div>
    <div>
        <label>Email Id:</label>
        <input type="text" name="emailId" id="emailId"/>
    </div>
    <div>
        <label>Password:</label>
        <input type="text" name="password" id="pass"/>
    </div>

    <div>
        <input type="submit" id="submit" name="submit" value="Submit" onclick="insertData()" />
    </div>
</form>
</body>
</html>

Это мой файл insert.php, в который я записываю все запросы, связанные со вставкой моих данных.

**insert.php**

<?php
include("connection.php");

if(isset($_POST['submit']))
{

    $Fname=$_POST["name"];
    $Age=$_POST["age"];
    $EmailId=$_POST["emailId"];
    $Password=$_POST["password"];

    $Insert = "INSERT INTO simpleform (Name, Age, Email_Id, Password) 
               VALUES ('.$Fname.', '.$Age.', '.$EmailId.', '.$Password.')";
    $Query=mysqli_query($con, $Insert);

    print_r($Insert);


    if(!$Query) 
    {
        echo mysqli_error();
    }
    else
    {
        echo "Successfully Inserted <br />";

    }
}

?>

Это мой файл insert.js, в котором я выполнял всю работу, связанную с ajax.

**insert.js**

  function insertData() {
      debugger;
      var name=$("#Name").val();
      var age=$("#age").val();
      var emailId=$("#emailId").val();
      var pass=$("#pass").val();
      debugger;

      // AJAX code to send data to php file.
      $.ajax({
          type: "POST",
          url: "kamalesh/insert.php",
          data: {name:name,age:age,emailId:emailId,pass:pass},
          dataType: "JSON",
          success: function(data) {

              alert("Data Inserted");

          }
      });
  }

1 Ответ

0 голосов
/ 26 июня 2018

Похоже, что в вашем insert.php if(isset($_POST['submit'])) запрещает запуск сценария, когда ваша функция insert.js передает параметры в insert.php. Когда AJAX передает параметры в insert.php, isset($_POST['submit']) вернет false.

Вам необходимо удалить if(isset($_POST['submit'])) из nsert.php. Я также предлагаю вам запретить отправку и обновление вашей страницы. Посмотрите на e.preventDefault.

Также для запроса $ insert вы должны удалить "." до и после каждой переменной в «ЗНАЧЕНИЯХ». Они не нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...