[PHP-users 34200] Re: チェックボックスの value= に配列を入れますでしょうか?

Naoya Harasawa harasawa @ gust.jp
2008年 12月 22日 (月) 16:58:27 JST


こういう事?
(ソースはさくっと書いたのであまり美しくないかも)

================form.php=================
<html>
<head>
<title>form</title>
</head><body>
<p>送りたいデータを選ぶ</p>
<?php
$val_alpha =array("a","i","u","e","o");
$val_hira =array("あ","い","う","え","お",);
$val_kata =array("ア","イ","ウ","エ","オ",);
$ary =array($val_alpha,$val_hira,$val_kata);

print("<form name=\"form1\" method=\"post\" action=\"./aryget.php\">");
for ($i=0;$i<3;$i++){
	print($ary[$i][0]);
	$wk = htmlspecialchars(serialize($ary[$i]));
	print("<input type=\"checkbox\" name=\"chk[]\" value=\"$wk\">");
}

print("<input type=\"submit\" name=\"Submit\" value=\"送信\">");
print("</form>");
print("</body>");
?>
</html>

================aryget.php=================
<html>
<head>
<title>aryget</title>
</head>
<body>
選んだものは<hr>
<?php
if(IsSet($_REQUEST["chk"]) === true)
{
	if(Is_Array($_REQUEST["chk"]) === true)
	{
		foreach($_REQUEST["chk"] as $key => $value)
		{
			print_r(unserialize($value));
		}
	}
}
?>
<p><a href="form.php">戻る</a></p>
</body>
</html>

Naoya Harasawa

zasso さんは書きました:
> 内田と申します。 
> 以前お世話になりました。いまだ初心者です。
> さて チェックボックスのvalue=に配列を入れますでしょうか
>> また出来るとしたらどのように受け取るのでしょうか?
> だめもとで強引に下記のようなphp scriptを作ってみました
>> やっぱり動きません
> アルファベット・ひらがな・カタカナの最初の
> 文字を表示して最初の文字をチェックされたものの
> 配列の行または列を送り受け側ではその行または列を展開して
> 表示したいのです。
> 
> 
> 送り側
> form.php
> 
> <html>
> <head>
> <title>form</title>
> </head><body>
> <p>送りたいデータを選ぶ</p>
> <?php
> $val_alpha =array("a","i","u","e","o");
> $val_hira =array("あ","い","う","え","お",);
> $val_kata =array("ア","イ","ウ","エ","オ",);
> $ary =array($val_alpha,$val_hira,$val_kata);
> 
> print("<form name=\"form1\" method=\"post\"
> action=\"./aryget.php\">");
> for ($i=0;$i<3;$i++){
> 	print($ary[$i][0]); 
> 	print("<input type=\"checkbox\" name=\"chk[]\"
> value=\"$ary[$i]\">"); 
> }
> 
> print("<input type=\"submit\" name=\"Submit\" value=\"送
> 信\">");
> print("</form>");
> print("</body>");
> ?>
> </html>
> 
> 受け側
> 
> 
> aryget.php
> <?php
> // $checkboxの中身は配列
> $checkbox = $_REQUEST["chk"];
> 
> ?><html>
> <head>
> <title>aryget</title>
> </head>
> <body>
> 選んだものは<hr>
> <?php
> for($i=0; $i<sizeof($checkbox); $i++){
>       for($j=0;$j<5;$j++){
> 	print ($checkbox[$i][$j]);
>       }
>       print <BR>\n;
> }
> ?>
> <p><a href="form.php">戻る</a></p>
> </body>
> </html>
> 


PHP-users メーリングリストの案内