Вашата грешка казва всичко. Тъй като стигате до } else { ... } бит, това означава isset($_POST['id']) && isset($_POST['status_id']) е невярно.
С други думи, вашата форма е или:
- не използва POST, а GET. В този случай добавете
method="post"към вашия<form>етикет. (всъщност POST е поведение по подразбиране, така че ако случаят е такъв, вероятно трябва да премахнете или променитеmethod="GET"от маркера на формуляра) - и/или вашият формуляр не съдържа полета за въвеждане с
name="id"и/илиname="status_id"
Актуализираният въпрос добавя код за Android. Оттук и тази актуализация:
Съмнявам се, че jsonParser.makeHttpRequest всъщност публикува кодиран от формуляр json низ. По-вероятно е просто да ПОСТЪПВА json данни към уеб сървъра. $_POST на PHP няма да се попълни автоматично с тези данни, тъй като обработва само данни, кодирани във формуляра.
Вероятно трябва да прочетете тези данни от stdIn.
Опитайте:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$rawPostData = file_get_contents("php://input");
$postData = (array)json_decode($rawPostData);
}
И след това използвайте $postData, където иначе бихте използвали $_POST