同じnameで配列のように複数の値を渡したいのですが、
1)htmlの記述
2)php側の受けの記述
を教えてください。
複数チェック可のcheckboxが複数ある場合の処理などです。
http://itbtech.itboost.co.jp/php/php_09.php
itb-TECH 【 PHP:フォームからの値の受け渡し - 】
------------------------------------------------ hoge.html
<form action=”hoge.php”>
<input type=”checkbox” name=”fC[]” value=”hoge”> hoge
<input type=”checkbox” name=”fC[]” value=”foo”> foo
<input type=”checkbox” name=”fC[]” value=”bar”> bar
<input type=”submit” value=”OK”>
</form>
----------------------------------------------------------
------------------------------------------------- hoge.php
<?
// 配列 $fC に値が入っています。
// 添え字は 0 から連続で。
// 例えば、hoge と bar をチェックした場合は
// $fC[0] => ”hoge” 、 $fC[1] => ”bar” となります。
for( $i=0; $i<count($fC); $i++ ) {
print $i .” ::: ” . $fC[$i] . ”
¥n”;
}
?>
----------------------------------------------------------
ということのようです。
http://www.sakura-pc.jp/php/02020000.shtml
フォーム入力 【PHP講座】
html側では、フォームで送るときに配列にするために、inputのNameに[]をつけます。
複数チェックの場合。
HTML側
<html>
<body>
<form action=”URL” method=”POST”>
<INPUT TYPE=”checkbox” NAME=”check[]” VALUE=”1”>1
<INPUT TYPE=”checkbox” NAME=”check[]” VALUE=”2”>2
<INPUT TYPE=”checkbox” NAME=”check[]” VALUE=”3”>3
<INPUT TYPE=”checkbox” NAME=”check[]” VALUE=”4”>4
</form>
</body>
</html>
PHP側
受け取る側は、配列として受け取るために、変数に[]をつけます。
$check[] = $HTTP_POST_VARS[’check’];#とすると
複数のデーターはcheck[0],check[1],check[2]・・・にそれぞれ値がはいってくるので、
それらを処理するには、制御関数を使うなりして、
foreach ($check as $tmp) {
#個別処理
$sum = $sum +$tmp;#この場合、チェックされた合計を算出する
}
のように扱うとよいと思います。
ありがとうございます!
[]
http://www.stackasterisk.jp/tech/php/php02_06.jsp
PHP��2���FPHP����(�t�H�[��(form)�����̒l�̎��n��)
中程のチェックボックス系というところ。
<?php
#2)php側の受けの記述
if($_POST[’submit’]==’send’){
#$_POST[’arr’]が配列
print_r($_POST[’arr’]);
}else{
#1)htmlの記述
?>
<html>
<body>
<form action=”test.php” method=”post”>
<input type=”checkbox” name=”arr[]”>a
<input type=”checkbox” name=”arr[]”>b
<input type=”submit” name=”submit” value=”次のページ”>
</form>
</body>
</html>
<?php
}
?>
ありがとうございます!
[]
URLはダミーです
サンプルを書きます
HTML側
<form action=”hoge.php” method=”post”>
<input type=”checkbox” name=”type[0]” value=”aaa”>aaa<br>
<input type=”checkbox” name=”type[1]” value=”bbb”>bbb<br>
<input type=”checkbox” name=”type[2]” value=”ccc”>ccc<br>
<input type=”submit” value=”GO”>
</form>
hoge.php
<?php
$type = $_POST[’type’];
print_r($type);
?>
ありがとうございます!
=”type[0]”
Yahoo! JAPAN
ん~っと
普通に渡すときと変わりませんが、
<input type=hidden name=name[] value=”1”>
みたいな形でhiddenを書いて
PHP側はname[0] name[1]で書いていけば大丈夫だと思います。
確認は取っていません。
<?php
echo $_POST[name][0];
?>
↑POSTの場合
ありがとうございます!
http://www.7key.jp/program/php/split.html
PHP�ysplit�z
split を使えば?
例:
送り手側:<input type=hidden name=data value=”a,b,c”>
受け手側:<? $array = split(”,”,$_REQUEST[”data”]); ?>
とやれば、受け手側で
$array[0] に a, $array[1] に b, $array[2] に c が入ります。
ありがとうございます!
splitを使えば?
dumy.com: The Leading Gag Gifts Site on the Net
お初に御目文字いたします。URLはダミーよ。
みんなここで引っかかるのねぇ(嘆息
ま、これに関しては「あんなおかしな仕様にしたPHPが全部悪い」って思うの。だから、おねぇさんが詳しく教えてあげるわ。
そうねぇ。まさにcheckboxのパターンでかいてみますわ。
通常の、例えばPerlでCGI.pmを使うときなんかですと、こんな風にできると思うの。
HTML
<INPUT type=”checkbox” name=”data” value=”1”>選択肢1
<INPUT type=”checkbox” name=”data” value=”2”>選択肢2
<INPUT type=”checkbox” name=”data” value=”3”>選択肢3
<INPUT type=”checkbox” name=”data” value=”4”>選択肢4
<INPUT type=”checkbox” name=”data” value=”5”>選択肢5
Perl.cgi
$query = new CGI;
@data = $query->param(’data’);
これで配列で取得できるわ(入ってくるのはvalueの値だ、ってところだけ気をつけて頂戴ね)。
ところが、PHPの場合、HTMLのnameのところに小細工をしてあげないといけないの。
HTML
<INPUT type=”checkbox” name=”data[]” value=”1”>選択肢1
<INPUT type=”checkbox” name=”data[]” value=”2”>選択肢2
<INPUT type=”checkbox” name=”data[]” value=”3”>選択肢3
<INPUT type=”checkbox” name=”data[]” value=”4”>選択肢4
<INPUT type=”checkbox” name=”data[]” value=”5”>選択肢5
こんな感じよ。[]っていう余分なものが入ったのがわかるかしら?
データ自体は、nameが”data”であるって思って普通に取得していただいて差し支えないわ。
PHP.php
$data = $_REQUEST[’data’];
これで、$dataに複数値でもデータが入ると思うわ。
がんばって頂戴ね。
ありがとうございます!
ありがとうございます!
fC[]