2016-12-11 8 views
-2

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文が機能していないため、レポート全体をリファクタリングします。

+0

あなたはcount($ _ POST ['product_new_quantity'])を試しましたか? –

+0

あなたはリクエストを見て、それが 'POST'として送信していることを確認しましたか? – chris85

+0

'var_dump($ _ POST);'を実行し、フォームから何を得ているのかを確認してください。 –

答えて

0

ご希望の場合はフォーム方法を設定してください。 => method = "post"

+0

はいメソッドのPOSTとして設定されています

2000行のコードを投稿することなく、それを本質的なものに絞り込むのは難しいです。 –

+0

大量の変数をポストする場合は、ini_set( "max_input_vars"、 "5000")を使用する必要があります。 –

+0

投稿する変数の最大数にmax_input_varsを設定してください –