Jquery,Php$\u POST值始终为空
一旦用户单击“添加”按钮,我想在我的数据库中插入数据。我使用Jquery获得了值: 以下是Jquery代码:Jquery,Php$\u POST值始终为空,php,jquery,Php,Jquery,一旦用户单击“添加”按钮,我想在我的数据库中插入数据。我使用Jquery获得了值: 以下是Jquery代码: $.post('process.php', { name: 'aaaaa', id: '1' }, function(data) { alert(data); }); 下面是Php代码: 这个代码永远不会执行 if((!empty($_POST['name']))&&(!emp
$.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;
}
我想了解为什么以及我应该做什么来解决这个问题 它必须如下所示:
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');
我总是验证是否设置了,而不是空:
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 post时进行测试或消除bug,这样可以快速地消除错误
告诉我这是否适合你 您忘了在第二个值($idtp)周围加引号
你以错误的方式使用空函数。isset也不适用于我,空函数的问题是什么!在浏览器开发工具网络中检查实际请求,查看发送的内容和状态。在两个端点上都添加一些错误处理,虽然可以,但是echo$nomp;还是不行!为什么“必须”是这样?不一定是这样,有时空函数甚至计算的不仅仅是传递的值,甚至更多。如果块没有得到执行,最好尝试其他方法。当然是这样,但是如果您首先检查是否设置了,那么您可以避免变量出现“未定义”错误,以防它们没有post(这主要是为了有一个干净的日志),然后在内部验证是否为空,它可能为空
$add="Insert into prod(nomp,idtp) values ('".$nomp."',’".$idtp."’) ";