我有一张ajax crud表。当我想编辑和查看(模态弹出正确的信息)时,它工作得很好。现在,当我提交模态以插入新用户时,我从php和ajax得到错误,说没有数据可用但是当我在php中运行var_dump时它显示它们是值。我有一个isset条件来检查是否发布了值,如果它们应该将发布的数据分配给php变量,否则它将错误传递给ajax。
问题是无论我做什么,它总是将条件返回为假,尽管数据被发布
PHP代码
<?php
var_dump($_POST);
$balance = $nextdate = $error = $action = $interest_id = "";
$valid = true;
if(isset($_POST['balance']) && empty($_POST['balance']))
{
$balance = ['balance'];
}
else
{
$valid = false;
$error .= "* balance is required.\n";
$balance = '';
}
if(isset($_POST['nextdate']) && empty($_POST['nextdate']))
{
$nextdate =$_POST['nextdate'];
}
else
{
$valid = false;
$error .= "* date is required.\n";
$accountnumber = '';
}
if(isset($_POST['interest_id']) && empty($_POST['interest_id']))
{
$interest_id = $_POST['interest_id'];
}
else
{
$valid = false;
$error .= "* email is required.\n";
$interest_id = "";
}
?>
Ajax代码
if(valid == true)
{
var form_data = {
balance : balance,
nextdate : nextdate,
action : action,
interest_id : interest_id
};
$.ajax({
url : "insert.php",
type : "POST",
data : form_data,
dataType : "json",
success: function(response){
if(response['valid']==false)
{
alert(response['msg']);
}
else
{
if(action == 'add')
{
$("#add_new_user_modal").modal('hide');
html += "<tr class=user_"+response['interest_id']+">";
html += "<td>"+response['interest_id']+" </td>";
html += "<td>"+response['balance']+" </td>";
html += "<td>"+response['nextdate']+" </td>";
html += "<td><a href='javascript:void(0);' onclick='edit_user("+response['interest_id']+");'><i class='glyphicon glyphicon-pencil'></i></a> <a href='javascript:void(0);' onclick='delete_user("+response['bank_id']+");'><i class='glyphicon glyphicon-trash'></i></a></td>";
html += "<tr>";
$("#usersdata").append(html);
}
else
{
window.location.reload();
}
}
}
});
}
else
{
return false;
}
});
这些是我的var_dump结果
array(4)
{ ["balance"]=> string(8) "50000.00"
["nextdate"]=> string(10) "2016-08-18"
["action"]=> string(4) "edit"
["interest_id"]=> string(19) "anonymous@gmail.com" }
答案 0 :(得分:0)
您的测试不正确。您接受空白值。这就是为什么当你有价值时失败。
if(isset($_POST['balance']) && empty($_POST['balance']))
应该是
if(isset($_POST['balance']) && !empty($_POST['balance']))
答案 1 :(得分:-1)
所以我终于明白了,问题是if语句上的'=='add''
原始
if($action=='add')
更改
if($action = 'add')