我有一部分代码可以检查用户上传的文件。如果我发现文件不是有效的png / jpg / jpeg文件,那么我将停用该用户并将其从站点注销,并删除其会话,然后将其重定向到登录页面。我想向他显示错误,他/她正在尝试上传无效的文件。如果不使用Session,就找不到如何显示的任何内容。 任何帮助将不胜感激。
答案 0 :(得分:1)
您可以在刷新会话后创建新的会话消息,这些消息将在显示后删除
控制器
$is_valid // boolean
if(!is_valid) {
// if file is not valid, do something
...
// clear all session
session()->flush()
// redirect user to login page and send session message
return redirect()->route("login")
->with("message","Your file is not valid")
->with("message_type","danger");
login.blade
@if(session()->has("message"))
<div class="alert alert-{{session("message_type")}}">
<p> {{session("message")}} </p>
</div>
@endif
答案 1 :(得分:1)
例如,如果您由于某种原因不想使用会话,这是一个简单的代码,可以在特定视图中显示错误消息,然后我们为用户提供一个链接以再次登录。
UploadController.php
public function myUpload(){
//... some stuff and then logout the user, delete the session
return view('uploadError', ['uploadError' => 'for some reason...']);
}
uploadError.blade.php
Error uploading the file: {{ $uploadError }}
<a href="/login">Login again</a>
在您的情况下,您不能使用错误会话系统,因为在删除错误会话系统时,此时用户没有会话,响应也没有会话。而且,如果您从控制器重定向到登录页面,则此登录请求将生成新会话,而不是之前的会话。