PHP(バージョン5.6.27)に問題があります。私の問題は、IFテストに失敗するので、私はIFループには入らないということです。なぜなら、それは配列なので、私は仮定します。私もissetを使ってみましたが、役に立たなかった。フォームからPHP IF文が_POST配列で動作しない
if($_POST['product_new_quantity']){
foreach($_POST['product_new_quantity'] as $id => $new_quantity) {
if ($_POST['product_new_quantity'][$id] != $_POST['product_old_quantity'][$id]) {
// update the database with new value
}
}
}
例のデータは次のようになります。
// BOF HTML FORM DATA - Formatted to display here. // Yes I know It's missing the <> chars! input type="hidden" name="product_old_quantity[62]" value="22" input type="hidden" name="product_old_quantity[72]" value="11" input type="hidden" name="product_old_quantity[3841]" value="64" input type="text" name="product_new_quantity[62]" value="16" input type="text" name="product_new_quantity[72]" value="15" input type="text" name="product_new_quantity[3841]" value="58" // EOF HTML FORM DATA
これは明らかにPHPのいくつかの以前のバージョンに前に働いたが、もうないです...と私は本当にする必要がありますする必要はありませんこれらのIF文が機能していないため、レポート全体をリファクタリングします。
あなたはcount($ _ POST ['product_new_quantity'])を試しましたか? –
あなたはリクエストを見て、それが 'POST'として送信していることを確認しましたか? – chris85
'var_dump($ _ POST);'を実行し、フォームから何を得ているのかを確認してください。 –