Jquery,Php $ _POST值始终为空

时间:2017-12-11 19:19:41

标签: php jquery

一旦用户点击“添加”按钮,我想在我的数据库中插入数据。我使用Jquery得到了值: 这是Jquery代码:

 $.post('process.php',
      {
          name: 'aaaaa',
          id: '1'
      }, function(data) {
          alert(data);
  });

这是Php代码:

此代码永远不会执行!

  if((!empty($_POST['name']))&&(!empty($_POST['id']))){
      $nomp = $_POST['name'];
      $idtp=$_POST['id'];
      echo $nomp;
      $conn = dbConn();
      $add="Insert into prod(nomp,idtp) values ('".$nomp."',".$idtp.") ";
      $conn->query($add);
      $conn=null;
}

我想了解为什么以及我该怎么做才能解决这个问题!

3 个答案:

答案 0 :(得分:0)

我总是验证是否已设置,而不是为空:

if(isset($_POST['name'])&&isset($_POST['id'])){
  //then in here I throw a foreach validating and sanitizing every required field in case that everyone are
}else{
   //throw error 
}

我认为,当您使用ajax帖子时,至少测试或重新分配非常重要,您可以通过这种方式快速丢弃错误。

告诉我这是否适合你!

答案 1 :(得分:0)

你忘了把引号括在第二个值($ idtp)

 $add="Insert into prod(nomp,idtp) values ('".$nomp."',’".$idtp."’) ";

答案 2 :(得分:-1)

必须如下:

if((int)$_POST['id']>0 && strlen($_POST['name'])>0){
      $nomp = $_POST['name'];
      $idtp=$_POST['id'];
      echo $nomp;
      $conn = dbConn();
      $add="Insert into prod(nomp,idtp) values ('".$nomp."',".$idtp.") ";
      $conn->query($add);
      $conn=null;
}

更改js功能:

$.post('process.php',
      {
          name: 'aaaaa',
          id: '1'
      }, function(data) {
          alert(data);
  }, 'json');