• ベストアンサー

複数の値をセッションで保存したい

セレクトボックスやチェックボックスが複数あり、選択して検索ボタンを押すと情報が絞り込まれます。また、選択の保存ボタンを押すたびに、その選択状態を保存して他のページで「保存1、保存2、保存3…」と保存リストを見ることが出来ます。保存2を押すと、その保存された選択状態で情報を絞り込みます。 これを実現するにはセッション管理を使えばできると思いますが、1種類だけしか保存できません。「保存1、保存2、保存3…」というように複数保存するためにはどうしたらいいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • 1minn
  • ベストアンサー率57% (52/90)
回答No.1

$_SESSION[保存1] = array(保存1の内容); $_SESSION[保存2] = array(保存2の内容); $_SESSION[保存3] = array(保存3の内容); って感じにすればよいかと・・・

taurin1000kg
質問者

お礼

すいません本当にありがとうございます。 それ専用に用意された方法はないんですね。 【保存するボタンがついたページ】 ・保存リストページから訪問したとき用 if(isset($_GET['h'])){ //保存情報を反映させる f($_GET['h']); } ・<a href="$_SERVER['PHP_SELF']?a='on'">保存</a>が押されたとき if(isset($_GET['a'])){ if(isset($_SESSION['len'])){ $_SESSION['len'] = $_SESSION['len']+1; $lastno = 'no'.$_SESSION['len']; $_SESSION[$lastno] = array($a,$b,$c,…); }else{ $_SESSION['len']=1; $lastno = 'no'.$_SESSION['len']; $_SESSION[$lastno] = array($a,$b,$c,…); } } 【保存リストページ】 if(isset($_SESSION['len'])){ $len = $_SESSION['len']; for($i=1; $i<=$len; $i++){ //$_SESSION[no1]から順にhtmlコードを作る //<a href="$_SERVER['PHP_SELF']?h=no$i">保存</a>がある } } 保存リストは数百になっても対応できるよう このようなやり方にしまいたが、セキュリティなど問題ないでしょうか。

関連するQ&A