Vaše chyba mluví za vše. Protože se dostanete do } else { ... } bit, znamená to isset($_POST['id']) && isset($_POST['status_id']) je nepravdivé.
Jinými slovy, váš formulář je buď:
- nepoužívá POST, ale GET. V takovém případě přidejte
method="post"do vašeho<form>štítek. (ve skutečnosti je POST výchozí chování, takže pokud je to tento případ, pravděpodobně budete muset odstranit nebo změnitmethod="GET"ze značky formuláře) - a/nebo váš formulář neobsahuje vstupní pole s
name="id"a/neboname="status_id"
Aktualizovaná otázka přidává kód Android. Proto tato aktualizace:
Pochybuji, že jsonParser.makeHttpRequest ve skutečnosti odešle řetězec json zakódovaný ve formuláři. Je více než pravděpodobné, že pouze POST json data na webový server. PHP $_POST nebude automaticky vyplněno těmito daty, protože zpracovává pouze data zakódovaná ve formuláři.
Pravděpodobně budete muset načíst tato data ze stdIn.
Zkuste:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$rawPostData = file_get_contents("php://input");
$postData = (array)json_decode($rawPostData);
}
A pak použijte $postData tam, kde byste jinak použili $_POST