現在、掲示板を作っています。
既に、ログイン情報を保存し、投稿時に利用するためセッションを利用しており、
多重投稿防止のためにセッションでトークンをしたいのですが、新しいセッションを始めるのですが、既にセッションが始まっているよとエラーが出ます。
多重投稿を防止したいものの、ログイン情報を取得してユーザーIDを表示したいので、どちらのセッションも使いたいのですが、同時に使うの無理なのでしょうか?
最初のセッション(ログイン情報取得)
PHP
1<?php 2//エラー情報の表示 3 ini_set('display_errors', 1); 4 5//ログイン情報を取り出す 6 session_start(); 7 require_once('config.php');?> 8
次のセッション(多重投稿防止)
PHP
1//セッションスタート 2Session::sessionStart(); 3 4//トークン発行 5if (!isset($_SESSION['token'])) { 6$_SESSION['token'] = Str::getRandomString(24); 7} 8 9//POSTかつ二重投稿でなければ保存 10if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['token'] == $_SESSION['token']) { 11//トークンを破棄 12unset($_SESSION['token']); 13//DBへデータを保存 14hoge::insert($_POST['data']); 15}
回答1件
あなたの回答
tips
プレビュー