我使用angularJS ajax
将数据发送到这样的PHP文件 { username: "someusername", password: "somepassword" }
之前我使用过这样的东西来发送数据
var vars = "username="+fn+"&password="+ln;
但是因为角度发送数据像JSON。我想解码成PHP变量。
这里是我的PHP代码
if(isset($_POST['username']) && isset($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
}
$sql = "SELECT * FROM member WHERE username = '$username' AND password = '$password'";
我试图做的是这样的事情
$array = json_decode(file_get_contents('php://input'))
$username = $array->username;
$password = $array->password;
$sql = "SELECT * FROM member WHERE username = '$username' AND password = '$password'";
但不知道该怎么做。也不知道本节会发生什么 #&39;的file_get_contents(' PHP://输入')' 我将数据从本地计算机发送到互联网服务器PHP文件(跨域)
答案 0 :(得分:0)
要将PHP数组转换为变量,请使用extract function,但这不是一个好方法。
将JSON解码为数组并使用PHP filter functions
在客户端,您需要以下内容:
$http.post(http://your.url,
{"username" : someUserName, "password": somePassword}
).then(function (data, status, headers, config) {
// do things.
});

在服务器端,您应该:
$input = json_decode( file_get_contents('php://input'), true );
$username = filter_var($array['username'], FILTER_SANITIZE_STRING));
$password = filter_var($array['password'], FILTER_UNSAFE_RAW));
// this should work but is bad practice. Don't do it.
// extract($input);
// $username and $password are now available to you
此外,您需要改进代码以防止SQL注入。
您可以在此处阅读:how-can-i-prevent-sql-injection-in-php。
答案 1 :(得分:-1)
在AngularJS中使用$ http.post,然后用帖子传入JSON数据,然后在PHP中使用带有json_decode的$ _POST变量,然后在PHP中有一个关联数组。