2012-04-30 10 views
1

初心者PHPプログラマーがここでmailchimp APIを使用しようとしています...PHPは配列の値を指定していますか? each()に渡される変数は配列またはオブジェクトではありません

私の最初のコード行については、このPHPエラーが続きます....私はあなたが見ることができるように、フォームから値を掲示していますが、何が起こっているのか分かりません。

エラー: 警告:変数はそれぞれに渡され()ライン24上のXXXXXXXの配列またはオブジェクトではない(最初の行である)

while (list($key, $val) = each($_POST['MCgroup'])) { 
     $interest .= ($count>0 ? ", " : ""); 
     $interest .= $val; 
     $count++; 
    } 

    echo $interest; //echos NOTHINGblank 
    $mergeVars = array(
         'INTERESTS'=>$interest 
         ); 

    echo $mergeVars; //echos the word ARRAY 

私が研究しているものから、明らかに私は実際のARRAYを渡すことはできません...しかし、私が見つけたものからも、私の構文はすべて正しいようです。 (しかし私は何かを見落とすかもしれない)。ここで

は値
<input type="hidden" name="MCgroup" id="MCgroup" value="My Interest One" /> 
<input type="hidden" name="MCgroup" id="MCgroup" value="My Interest Two" /> 

を渡して、フォームのコードの一部であるか、または私はちょうど配列にTHATを作る方法を確認していない

<input type="hidden" name="MCgroup" id="MCgroup" value="My Interest One, My Interest Two" /> 

にそれを変更することができます。

お願いします!ありがとう!配列へ

+0

'$ _POST ['MCgroup']'はおそらく文字列なので、警告です。 – nickb

+2

あなたはすでに問題を知っています... '$ _POST ['MCgroup']'は配列ではないので、 'each()'を使うことはできません。 '$ _POST ['MCgroup']'の価値は何ですか?ここで何をしようとしていますか? –

+0

$ _POST ['MCgroup']は文字列です。メーリングリストの人の名前の名前だけです。 "narf"と呼ぶことができます。 私は基本的に投稿された値の配列を渡すことを試みていますmailchimpするいくつかのフォームでは、私は1つの値を掲示するかもしれません。 (1人の人間が複数の興味を持つことができます)... – PaulHanak

答えて

1

あなたはこのような何か、[]接尾辞を付けることにより、配列名を持っているあなたの<input>を設定することができます。

print_r($_POST['MCgroup']);

I:

<input type="hidden" name="MCgroup[]" id="MCgroup" value="My Interest One" /> <input type="hidden" name="MCgroup[]" id="MCgroup" value="My Interest Two" />

をそれまでにそれをチェックフォームメソッドをPOSTに設定すると仮定します。

1

変更HTML名:ユニークであることを行っている場合

<input type="hidden" name="MCgroup[]" id="MCgroup1" value="My Interest One" /> 
<input type="hidden" name="MCgroup[]" id="MCgroup2" value="My Interest Two" /> 
<input type="hidden" name="MCgroup[]" id="MCgroup3" value="And another sparkling interest" /> 

また、IDのみを使用しています。

関連する問題