アプリ版:「スタンプのみでお礼する」機能のリリースについて

checkboxやradioの値をセッションで渡したい場合、


POSTで送る
<input type="radio" name="test" value="1">総務課<br>
<input type="radio" name="test" value="2">営業課<br>
<input type="radio" name="test" value="3">事業課<br>

↓セッションに代入

$_SESSION['test']=$_POST['test'];
になるのでしょうか?

配列なので、
$_SESSION['test']=$_POST['test'[]];
とはならないのでしょうか?

他の場合ですと、

$cart[]=$code;
$_SESSION['cart']=$cart;
と$cart[]の配列を$_SESSIONに代入しているのですが。

違いが分からず混乱しています。
宜しくお願いします。

A 回答 (2件)

ラジオボタンは複数項目から択一で選ぶ装置なので、送られる値は単一


https://developer.mozilla.org/ja/docs/Web/HTML/E …

チェックボックスは項目の有無を選ぶ装置なので、送られる値は単一または存在しない
https://developer.mozilla.org/ja/docs/Web/HTML/E …

そのため通常ならば、ブラウザから送られてくるのは単一の値として処理できます
例)
$_SESSION['ラジオ結果'] = $_POST['項目名'];
$_SESSION['チェック結果'] = $_POST['項目名']?? "選んでない";

複数のチェックボックスを一つの配列に収めるなら
例)
$配列[] = $_POST['項目名1']?? null;
$配列[] = $_POST['項目名2']?? null;
...
$_SESSION['チェック結果'] = $配列;

特殊な技法として、複数の装置に同じ name を指定して配列扱いさせることも可能ですが、PHP の場合ですと少々面倒な記載ルールになるのでご注意ください。
https://www.php.net/manual/ja/reserved.variables …
    • good
    • 0
この回答へのお礼

ありがとうございます。
とても、わかりやすい説明で理解が出来ました。
助かりました。m(__)m

お礼日時:2023/03/02 11:40

>$_SESSION['test']=$_POST['test'];



です。
迷った時は公式のマニュアルを当たりましょう。

https://www.php.net/manual/ja/reserved.variables …
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!