Вашата грешка казва всичко. Тъй като стигате до } 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