Seu erro diz tudo. Desde que você chega ao
} else { ... } bit, significa isset($_POST['id']) && isset($_POST['status_id']) é falso. Em outras palavras, seu formulário é:
- não usando POST, mas GET. Nesse caso, adicione
method="post"para o seu<form>marcação. (na verdade, POST é o comportamento padrão, então se este for o caso, você provavelmente terá que remover ou alterarmethod="GET"da tag de formulário) - e/ou seu formulário não contém campos de entrada com
name="id"e/ouname="status_id"
A pergunta atualizada adiciona código Android. Daí esta atualização:
Duvido que
jsonParser.makeHttpRequest realmente publica uma string json codificada em formulário. É mais provável que apenas POSTe dados json no servidor web. O $_POST do PHP não será preenchido automaticamente com esses dados, já que ele lida apenas com dados codificados por formulário. Você provavelmente precisa ler esses dados de stdIn.
Experimentar:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$rawPostData = file_get_contents("php://input");
$postData = (array)json_decode($rawPostData);
}
E então use $postData onde você usaria $_POST