値の受け渡し
created: 2005-08-27 17:16 | modified: 2005-08-30 17:00 | reply: 4
[2504] 値の受け渡し
user: けんじ | created: 2005-08-27 17:16
はじめまして、けんじと申します。
3週間程前から勉強始めました初心者です。一応ググッたりしたのですが検索の仕方が悪いせいでしょうなかなかヒットせず、
思うように動作しなく途方にくれております。どうか教えて下さいます様、お願い致します。
タイトルの「値の受け渡し」ですがこれで日本語が合っているかわかりません。
やりたいこと。
forループを使用しINPUT TYPE=TEXTを100回繰り返す。
そのNAMEにユニークな名前を付けたい。
思いついたのがforループで使用している変数$iをNAMEにくっつければいいのではと考えました。
その結果はブラウザのソース表示で確認すると期待通りでした。
ただその次の受け取り方が解りません。
POSTでsubmitして$_POST["name1"];
でもちろん受け取れますが、これをname99まで手書きするの?
ってなところでまたループで処理できないのかなと考えます。
しかしそのループの個所をどのように記述するのかが解りません。
手書きしたらいいといえばいいのですが、もっとスマートに出来るのではとも思います。
以下まとめます。
1,目的はINPUT TYPE=TEXT のnameの名前を一意にしたい。
2,その為の私の考えた筋道は適しているか否か。
3,適しているかどうか別にして、上記のループでの受け取りは可 能なのか否か
4,可能ならばそのソースを教えて欲しい
以上初歩的で申し訳ありませんが(丸投げですが)よろしくお願いします。
環境
OS:WIN2K
PHP:5.0.3
Apache:2.0.53
です。
3週間程前から勉強始めました初心者です。一応ググッたりしたのですが検索の仕方が悪いせいでしょうなかなかヒットせず、
思うように動作しなく途方にくれております。どうか教えて下さいます様、お願い致します。
タイトルの「値の受け渡し」ですがこれで日本語が合っているかわかりません。
やりたいこと。
forループを使用しINPUT TYPE=TEXTを100回繰り返す。
そのNAMEにユニークな名前を付けたい。
思いついたのがforループで使用している変数$iをNAMEにくっつければいいのではと考えました。
その結果はブラウザのソース表示で確認すると期待通りでした。
ただその次の受け取り方が解りません。
POSTでsubmitして$_POST["name1"];
でもちろん受け取れますが、これをname99まで手書きするの?
ってなところでまたループで処理できないのかなと考えます。
しかしそのループの個所をどのように記述するのかが解りません。
手書きしたらいいといえばいいのですが、もっとスマートに出来るのではとも思います。
以下まとめます。
1,目的はINPUT TYPE=TEXT のnameの名前を一意にしたい。
2,その為の私の考えた筋道は適しているか否か。
3,適しているかどうか別にして、上記のループでの受け取りは可 能なのか否か
4,可能ならばそのソースを教えて欲しい
以上初歩的で申し訳ありませんが(丸投げですが)よろしくお願いします。
環境
OS:WIN2K
PHP:5.0.3
Apache:2.0.53
です。
[2507] こゆうこと?
user: ach | created: 2005-08-27 20:10
$prefix = "name";
$numberOfInputs = 100;
//フォームの出力
for ($i = 0; $i < $numberOfInputs; $i++) {
$name = $prefix.$i;
echo "<input type=text value='",$name,"'>\n";
//以下適当につづく
}
//POSTデータをループ処理
for ($i = 0; $i < $numberOfInputs; $i++) {
$name = $prefix.$i;
$value = $_POST[$name];
//以下適当につづく
}
いや、foreach使えばいいんだけどさ。これだとinputに記入漏れがあったらエラー出るし。[2512] 感謝です!
user: けんじ | created: 2005-08-28 15:43
はじめまして、けんじと申します。
ach様ありがとうございます。
イメージ通りとは行かないまでも
参考にさせて頂き、無事動作しました。
感謝します。
独学にて断片的な知識しか無く、また身近に教えて
頂けそうな人もいないし藁にすがる思いで投稿しました。
ところでくだらない質問ですが
> いや、foreach使えばいいんだけどさ。これだとinputに記入漏れがあったらエラー出るし。
foreachって配列をループするんですよね。
なんか今回の事例と関わりあるのでしょうか?
当方現在「基礎PHP」を読み、サンプルで勉強している最中
なんですが、foreachってどんな場合に使えるのかイメージ
出来ません。
ach様ありがとうございます。
イメージ通りとは行かないまでも
参考にさせて頂き、無事動作しました。
感謝します。
独学にて断片的な知識しか無く、また身近に教えて
頂けそうな人もいないし藁にすがる思いで投稿しました。
ところでくだらない質問ですが
> いや、foreach使えばいいんだけどさ。これだとinputに記入漏れがあったらエラー出るし。
foreachって配列をループするんですよね。
なんか今回の事例と関わりあるのでしょうか?
当方現在「基礎PHP」を読み、サンプルで勉強している最中
なんですが、foreachってどんな場合に使えるのかイメージ
出来ません。
[2513] フォームの所で配列にしています。
user: シロウ | created: 2005-08-29 00:33
はじめまして、シロウと申します。
私は以下のようにフォームの所で配列になるようにします。
<input type="text" name="name[]" value="">
INPUTの名前の後で[]を使うとPHPが配列として受け取ってくれます。
[]の中を空にすると0?の配列が作られて、任意の数値や文字を入れても問題ありません。
http://jp2.php.net/manual/ja/control-structures.foreach.php
http://jp2.php.net/manual/ja/function.array.php
私は以下のようにフォームの所で配列になるようにします。
<input type="text" name="name[]" value="">
<form name="test" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<?php
for ($row=0;$row<100;$row++){
echo '<input type="text" name="name[]" value="">';
}
?>
<input type="submit" name="manip" value="送信" style="width:100px;">
</form>
<?php
if (!empty($_POST['name'])){
foreach ($_POST['name'] as $key=>$value){
echo $key.'='.$value."\n";
}
}
?>
INPUTの名前の後で[]を使うとPHPが配列として受け取ってくれます。
[]の中を空にすると0?の配列が作られて、任意の数値や文字を入れても問題ありません。
http://jp2.php.net/manual/ja/control-structures.foreach.php
http://jp2.php.net/manual/ja/function.array.php
[2516] ありがとうございます
user: けんじ | created: 2005-08-30 17:00
シロウ様、はじめまして
返事ありがとうございます。
やはり、配列に関してもっと理解をしないといけないと分かりました。
がんばります。
返事ありがとうございます。
やはり、配列に関してもっと理解をしないといけないと分かりました。
がんばります。