気がついたらプログラムをやっていました。
初仕事はWebのアンケート。
項目の数が凄い多いし、チェックボックスだのなんだの入り乱れてて
ジャングルみたいなコードになってて、入りたくないコードになっていましたが
まぁそろそろ終わりが見えてきました。
イレギュラーな部分とかもあって、対応するのに苦労したけど勉強することも多かったです。
で、そんな中で、特になんでやねんこれって思ったのが
checkboxのvalueが出力されてこない事でした。
答えは、checkboxの中にtextがあったのに同じnameにしてたからです。
<form action="#" method="POST"> <input type="checkbox" name="hoge" value="moga" />hoge <input type="checkbox" name="huga" value="hoga" />huga <input type="checkbox" name="piyo" value="puyo" />puyo //極端ですけど名前が一緒だったらダメみたい。 <input type="text" name="piyo" value="" />pyo <inpu type="submit" value="送信" /> </form> //こうやって書くことで、わざわざ別の名前にしなくても、配列でぶっとばしてくれます。 //調べてみたら二次元配列でもできるみたいだよ! <form action="#" method="POST"> <input type="checkbox" name="hoge[]" value="moga" />hoge <input type="checkbox" name="hoge[]" value="hoga" />huga <input type="checkbox" name="hoge[]" value="puyo" />puyo <input type="text" name="hoge[]" value="" />pyo <inpu type="submit" value="送信" /> </form> <form action="#" method="POST"> <?php $abesi = ('moga','hoga','puyo'); for($i=0; $i < count($abesi); $i++) { echo "<input type="checkbox" name="hoge[$i][]" value="$abesi[$i]" />$[i]; } ?> //もう一個[]を増やせば良いだけだね!シンタックス出たら適当に直してね! <input type="submit" value="送信" /> </form>
とまぁ、こんなしょーもない事で30分くらい使ってしまいました。
皆さんは、正しいコードと冴えた頭で、困難を乗り切ってください。