Laravelセッションの作成と読み取りに問題があります。 私はセッション値を作成できますが、問題はデータにアクセスしています。 POSTリクエストでセッション値を作成すると、GETリクエストでセッション値にアクセスできません。ここで Laravel POSTリクエストに保存されたセッションデータを取得できません。
はdoLogin使用して、POSTメソッドここでは私のルートRoute::get('/', '[email protected]');
Route::get('/admin/dashboard', '[email protected]');
Route::post('/admin/login_admin', '[email protected]');
Route::post('/admin/login_test', '[email protected]');
Route::get('/admin/login', '[email protected]');
です:他のget要求セクションでセッション値にアクセスするための要求は、それがない場合
public function doLogin(Request $request){
$email = $request->input("email");
$password = $request->input("password");
$checkerInfo = AdminGetLoginChecker($email, $password);
//if logged in
if($checkerInfo){
$request->session()->put('loggedIn', '1');
$request->session()->put('userId', $checkerInfo);
$request->session()->save();
return response()->json([
'success' => true,
'message' => 'logged In'
]);
}
return response()->json([
'success' => false,
'message' => 'Incorrect User Email, Password'
]);
}
今問題がありますアクセスを許可する。
public function dashboard(Request $request)
{
$data = $request->session()->all();
print_r($data);
return view('welcome', ['name' => 'James']);
}
ここでは、保存されたセッションデータはGETリクエストなので表示されません。今
POSTを使用して、任意の別の方法で要求を取得しようとするならば、それは私がGET要求された方法では、セッションデータにアクセスするにはどうすればよい
//it's a POST requset
public function test(Request $request)
{
$data = $request->session()->all();
print_r($data);
}
以前doLogin方法で保存されたデータを紹介依頼?事前に
おかげで、
更新:
データ
を掲示しながら、CSRFトークンの問題を回避するためにverifyCsrfToken middelwereのexceptsでエリアに " '/管理/ login_admin'" というURLを追加しますのでご注意くださいnamespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
//
'url' => '/admin/login_admin'
];
}
号。 GET要求を使用しているメソッドは、セッション値を表示しません。 – FRabbi