• ベストアンサー

データ受け取り

チェックボックスよりデータを送信し、次ページで受け取りたいのですが、データは送信されているようですが、データを受け取って表示することができません。 <プログラム(一部省略)> <?php if ($handle = opendir('.')) {     while (($file = readdir($handle))!=false) {         if ($file != "." && $file != "..") {             print "<tr><td><input type=checkbox name=fp[$i] value=$file></td>";             <<省略>>             $i++;        }     } } ?> ↓次ページ(一部省略)↓ <?php for($i=0;$i<$n;$i++){ $fp[$i]=$_GET{"fp[$i]"}; print "$fp[$i]<br>"; } ?>

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

$fp[$i] = $_GET["fp"][$i]; あと$nに適切な値が入ってないと駄目だわな。

noname#13767
質問者

お礼

ありがとうございます。 値を渡せました。因みに$nの値は省略部分で渡しています。

その他の回答 (2)

  • BENGAL
  • ベストアンサー率73% (22/30)
回答No.3

フォーム文の宣言でPOSTとしていませんか?? 例:<form method='post'> その場合は、$_POSTで取得します。 あとは、#2さんと同じで、 $fp[$i]=$_GET["fp"][$i]; と書くとうまくいくかと思います。 参考になれば幸いです。

noname#13767
質問者

お礼

回答ありがとうございました。 メッソドはGETで送信しています。 $fp[$i]=$_GET["fp"][$i]; でうまくいきました。

  • Dpop
  • ベストアンサー率51% (279/544)
回答No.1

Web屋です。OkWebの様なページの設計, 開発を仕事としています。 基本的にPerl屋でして、PHPは文法が分る。と言うレベルなのですが。。。 > $fp[$i]=$_GET{"fp[$i]"}; ここ、おかしく無いですか? $fp[$i]=$_GET{"$fp[$i]"}; じゃ無いかな。。。もっとも、配列fpにチャント内容が入っているかどうか、分りませんけど。。。 それから。。。 > $fp[$i]=$_GET{"$fp[$i]"}; 関数の入力側と出力側が同じ変数と言うのはどうでしょう。。。 どこにバグがあるのか分らなくなる様な。。

noname#13767
質問者

お礼

私もperl文法で考えていたようです。 #2さんのようにするとうまくいきました。 考えてくださってありがとうございました。

関連するQ&A