
一括で資料請求する方法についてアドバイスをお願い致します。
例えば保険のポータルで登録されてある保険会社の一覧表示ページがありますよね。
一覧表示ページでは保険会社名と資料請求用のチェックボックスがあります。
『資料請求する』というボタンをクリックすれば専用ページに移管しチェックされている
保険の一括資料請求できるというよくあるシステムなのですがページングで表示される場合に
前のページでチェックされていたチェックボックスの値を引き継いで渡す事はできますか?
可能であれば一度チェックされたセレクトボックスは次のページや前のぺーじへ戻っても
チェックされている状態を維持させたいと思っております。
URLは以下のようにページ番号のみ変化します。
exsample.com/list/ページ番号/
単純に1ページで全て表示されるのであれば処理も楽なのですがページングがある場合
どのようにすれば実装できるのか全くわかりません。詳しい方がいらっしゃいましたら
実装方法についてアドバイスをお願い致します。

No.1ベストアンサー
- 回答日時:
私なりのノウハウです。
1.まず、ページ切り替えは POST メソッドでリクエストするようにします。
2.チェックボックスのチェックの有無は、$_POST の値を $_SESSION に保存する。
3.チェックボックスの echo 時に SESSION 変数に保存されている場合は、checked="checked" を echo する。
以下がサンプルのソースです。
かなり簡略して書いています。なおかつ未検証です。構文エラーがあるかも知れません。
実装する場合は、不正なリクエストはエラーを出すなり
無視する処理をしっかり入れてください。
// JavaScript 部分
function action(i){
document.forms.form1.page = i;
document.forms.form1.submit();
}
// フォーム部分
<from name="form1" method="post">
<input type="hidden" name="page" />
<ul>
<?php
for ($i = 0; i < 10; i ++){
?>
<li>
<label>
<input type="checkbox" name="checkbox[<?php echo($i); ?>]" value="1" <?if(isset($_SESSION[$i])){echo('checked="checked"');}?> />
チェックボックス<?php echo(($i + 1).'個目') ?>
</label>
</li>
<?php
}
?>
</ul>
</form>
// ページ切り替え部分
<a href="javascript:action(2)">2ページ目</a>
<a href="javascript:action(3)">3ページ目</a>
<a href="javascript:action(4)">4ページ目</a>
<a href="javascript:action(5)">5ページ目</a>
// POST値をSESSION変数に保存する部分
if(isset($_POST)){
while(true){
if(count($_POST['checkbox']) == 0){
break;
}
foreach($_POST['checkbox'] as $key => $value){
if($value != 1) continue;
$_SESSION[$key] = true;
}
break;
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プロバイダー・ISP NTTグループカードの終了 2 2023/02/17 11:12
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- 健康保険 協会けんぽだと保険証が届く前に病院に行きたい場合は資格証明書の発行で代用できますが、関東ITSは資格 4 2022/10/03 18:31
- 損害保険 現在20歳で大学で保険法を履修している者です。 過去問に取り組んでいるのですが、答えがわからず苦戦し 1 2023/07/22 19:42
- 損害保険 交通事故 慰謝料の請求は労災か相手保険会社のどちらが多く貰えるのか? 通勤中に交通事故(バイク対車の 2 2022/03/25 17:52
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- 仕事術・業務効率化 使用中のソフトで、インボイス制度に対応する為の作業料が30万以上。普通? 4 2023/06/15 21:26
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- 健康保険 傷病手当金意見書交付料について 2022年11月末まで任意継続の社会保険を利用していました。2022 3 2023/01/05 11:21
- 人事・法務・広報 たかが交通事故なのに、本人でも情報を開示してくれない。なんで? 3 2022/11/30 16:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
送信ボタン毎でそれぞれの処理へ
-
EC-CUBEでのカテゴリ指定検索 ...
-
毎回フォームに入れた文字をボ...
-
PHPで画像データーのアップロー...
-
++の意味が分かりません
-
どこが間違えているのでしょうか?
-
選んだ数字だけ繰り返す
-
チェックボックスの全選択/解除...
-
入力チェック後の表示
-
auサイトで変数のついた同一URL...
-
PHPとHTML+Xamppの掲示板で画像...
-
既存プログラムを改造したら動...
-
パラメーターを隠す
-
PHPでのクッキー
-
リスト表示からのボタンアクシ...
-
一括で資料請求する方法
-
検索時の選択内容を保持する方法
-
PHPのメールフォームでメールが...
-
Mysqlの配列のデータをチェック...
-
forで作成したフォームの値を更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
検索時の選択内容を保持する方法
-
HTMLで前の画面に戻る時、入力...
-
同じページでフォームデータを...
-
PHPで、ボタンを押すと同じペー...
-
フォームボタンを押すたびに数...
-
フォームへの前回入力値をクリ...
-
DBの値をチェックボックスに反...
-
チェックボックスによる検索
-
HTMLフォームで複数選択のチェ...
-
フォームでのリセットを使う方法
-
エラーを元の画面に表示させるには
-
PHP ボタンが押されたら処理を...
-
チェックボックスの必須項目指定
-
【PHPチェック】ラジオボタンが...
-
POSTやGETの変数をフォーム無し...
-
PHPでクリックするたびに変数を...
-
入力した部分を表示させたまま...
-
ラジオボタンをsessionで使いたい
-
POSTデータのNAME属性をVALUEに...
-
アップロードの際にファイルパス
おすすめ情報