2011-06-24 7 views
1

が返されます。したがって、ユーザーがページに追加する内容に応じて増減できるフォームがあります。未知の投稿を処理できるように、私はテーブルの各セクションを通り、それぞれの配列を解読する一連のforeachループを設定しました。

フォームは一連のテーブルです。各表は1つのカテゴリ用であり、各行は異なるカテゴリです。すべての行に7つの部分があります。スクリプトは、各列ピースをデータベースに挿入するのに必要な部分を円で囲み、取得します。

私の個人用ホームサーバーでは、コードはエラーを返さず、それに応じてデータベースを更新します。私の有料ホスティングでは、私はエラーが発生します。最初のforeachの後でエラーが発生します。これは誤りである

foreach($tablecontent as $key => $values) 

: 警告:foreachのために供給無効な引数()/home/sariep5/public_html/werchris.com/circuitcheck/submit.phpでライン14

上のそれはででてきます

私のコードは以下の通りです:

<td><input type="text" maxlength="3" name="esd[8][eng]" value=""></td> 
<td><input type="text" maxlength="3" name="esd[8][q2]" value=""></td> 
<td><input type="text" maxlength="3" name="esd[8][loa]" value=""></td> 
<td><input type="text" maxlength="3" name="esd[8][wire]" value=""></td> 
<td><input type="text" maxlength="3" name="esd[8][verify]" value=""></td> 
<td><input type="text" maxlength="3" name="esd[8][assy]" value=""></td> 
<td><input type="text" maxlength="3" name="esd[8][q4]" value=""></td> 

これはフォームのHTML部分です。ちょうどそのようなセクションは、名前とは異なる部分でのみ作成されます。したがって、esdは他のカテゴリにもなり、8つの増分があり、他の7つはすべてのセクションで同じです。

foreach ($_POST as $table => $tablecontent) { 
    foreach($tablecontent as $key => $values) { 
     foreach($values as $row => $value) { 
      $value = strip_tags(htmlspecialchars($value)); 
      $row = strip_tags(htmlspecialchars($row)); 
      $key = strip_tags(htmlspecialchars($key)); 
      mysql_query("UPDATE tablecontent SET ".$row." = '$value' 
         WHERE id='$key'"); 
     } 
    } 
} 

ありがとうございます! foreach($tablecontent as $key => $values)エラーがあっ$tablecontentを意味簡単です

+0

あなたを試してみて、まだポストとをタグ付けしていない配列ではありませんそれを示すもの適切なタブでもっと良い回答が得られます。 –

+1

あなたは "

";print_r($_POST);print "
"という印字をすることができますか?あなたの質問に出力を投稿してください。人々はあなたを助けることができるでしょう –

+1

あなたはforeach($ _ POST ['esd'] $ key => $ values)をしたいと思っています – amosrivera

答えて

0

Warning: Invalid argument supplied for foreach() in /home/sariep5/public_html/werchris.com/circuitcheck/submit.php on line 14

明確にそこにいくつかのバックエンドコード(PHP?)を持っているvar_dump($tablecontent);

+0

あなたは天才です。親切にありがとう。 $ tablecontentは配列ですが、 "submit"という名前のサブミットボタンは、配列の後ろに文字列を貼り付けることでコードを台無しにします。もう一度、ありがとう! – Chris

+0

笑それはすべてエラーメッセージに書いてあります:) – dynamic

関連する問題