Я создаю приложение android и отправляю данные пользователя из приложения Android на php на стороне сервера JSON. Но на стороне сервера я не получаю данные JSON. На стороне сервера php JSON поступает из приложения для Android, кажется null. Для этого я использую метод POST. Я знаю, что мой метод POST-кода неверен в PHP на стороне сервера. Но я не собираюсь это решать.
Вот мой PHP-код для получения JSON. Каждый раз, когда я получаю такое же сообщение:
Обязательные поля отсутствуют
Код:
<?php
/*
* Following code will create a new user row
* All user details are read from HTTP Post Request
*/
// array for JSON response
$response = array();
print_r($_POST);
// check for required fields
if (isset($_POST['Firstname']) && isset($_POST['Lastname']) && isset($_POST['Username']) && isset($_POST['Email']) && isset($_POST['Password']) && isset($_POST['Country']) && isset($_POST['Mobile'])) {
echo('bhargavi');
$Firstname = $_POST['Firstname'];
$Lastname = $_POST['Lastname'];
$Username = $_POST['Username'];
$Email = $_POST['Email'];
$Password = $_POST['Password'];
$Country = $_POST['Country'];
$Mobile = $_POST['Mobile'];
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql inserting a new row
$result = mysql_query("INSERT INTO users(Firstname,Lastname,Username,Email,Password,Country,Mobile) VALUES('$Firstname','$Lastname','$Username','$Email','$Password','$Country','$Mobile')");
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "User successfully Registered.";
// echoing JSON response
echo json_encode($response);
} else {
// failed to insert row
$response["success"] = 0;
$response["message"] = "Oops! An error occurred.";
// echoing JSON response
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
Вероятно, вы должны декодировать строку json перед проверкой $ _POST ['Firstname'] и т.д....
Скажем, вы отправляете из приложения строку, называемую данными. На php вы должны сделать что-то вроде этого:
$data = json_decode($_POST['data']);
and then check if $data contains the data you neeed by doing:
if (isset($data->Firstname) && isset($data->Lastname) etc...){
...
...
}
Если я могу дать вам совет, было бы лучше, если бы вы проверяли целостность данных непосредственно из своего приложения, а не делали это на своем сервере, это дало бы шанс зарезервировать некоторые серверные ресурсы...
Как уже упоминал Джей Бланчард, не используйте mysql, как это, или вы будете подвержены действию mysql...