Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel-此路由不支持GET方法。支持的方法:POST_Laravel - Fatal编程技术网

Laravel-此路由不支持GET方法。支持的方法:POST

Laravel-此路由不支持GET方法。支持的方法:POST,laravel,Laravel,我是个新手。我在使用Laravel的登录功能时遇到问题。登录后将重定向到URL/admin/dashboard,但我收到一个错误 此路由不支持GET方法。支持的方法: 邮局 在web.php中 Route::get('/login', [AdminController::class, 'index']); Route::get('/logout', [AdminController::class, 'logout']); Route::get('/dashboard', [AdminContro

我是个新手。我在使用Laravel的登录功能时遇到问题。登录后将重定向到URL
/admin/dashboard
,但我收到一个错误

此路由不支持GET方法。支持的方法: 邮局

在web.php中

Route::get('/login', [AdminController::class, 'index']);
Route::get('/logout', [AdminController::class, 'logout']);
Route::get('/dashboard', [AdminController::class, 'show_dashboard']);
Route::post('/admin/dashboard', [AdminController::class, 'dashboard']);
<div class="log-w3">
        <div class="w3layouts-main">
            <h2>Sign In Now</h2>
                <form action="{{ url('/admin/dashboard')}}" method="POST">
                  {{ csrf_field() }}
                    <input type="text" class="ggg" name="email" placeholder="E-MAIL" required="">
                    <input type="password" class="ggg" name="password" placeholder="PASSWORD" required="">
                    <?php
                        $message = Session::get('message');
                        if($message) {
                            echo $message;
                            Session::put('message', null);
                        }
                    ?>
                    <span><input type="checkbox" />Remember Me</span>
                    <h6><a href="#">Forgot Password?</a></h6>
                        <div class="clearfix"></div>
                        <input type="submit" value="Sign In" name="submit">
                </form>
                <p>Don't Have an Account ?<a href="registration.html">Create an account</a></p>
        </div>
在控制器中

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use Session;
use Illuminate\Support\Facades\Redirect;
session_start();

class AdminController extends Controller
{
    public function index() {
        return view('admin.login');
    }

    public function show_dashboard() {
       return view('admin.dashboard.index');
    }

    public function dashboard(Request $request) {
        $email = $request->email;
        $password = md5($request->password);

        $result = DB::table('tbl_admin')->where('email', $email)->where('password', $password)->first();
        if ($result) {
            Session::put('id', $result->id);
            Session::put('name', $result->name);

            //return view('admin.dashboard.index');
            return redirect('/admin/dashboard');
        }
        else {
            Session::put('message', 'Email or password is incorrect.');
            return redirect('/login');
        }

    }

    public function logout() {
        Session::put('id', null);
        Session::put('name', null);
        return Redirect::to('/login');
    }
}
并在login.blade.php中

Route::get('/login', [AdminController::class, 'index']);
Route::get('/logout', [AdminController::class, 'logout']);
Route::get('/dashboard', [AdminController::class, 'show_dashboard']);
Route::post('/admin/dashboard', [AdminController::class, 'dashboard']);
<div class="log-w3">
        <div class="w3layouts-main">
            <h2>Sign In Now</h2>
                <form action="{{ url('/admin/dashboard')}}" method="POST">
                  {{ csrf_field() }}
                    <input type="text" class="ggg" name="email" placeholder="E-MAIL" required="">
                    <input type="password" class="ggg" name="password" placeholder="PASSWORD" required="">
                    <?php
                        $message = Session::get('message');
                        if($message) {
                            echo $message;
                            Session::put('message', null);
                        }
                    ?>
                    <span><input type="checkbox" />Remember Me</span>
                    <h6><a href="#">Forgot Password?</a></h6>
                        <div class="clearfix"></div>
                        <input type="submit" value="Sign In" name="submit">
                </form>
                <p>Don't Have an Account ?<a href="registration.html">Create an account</a></p>
        </div>

有人能帮我吗?谢谢。

您可以在
仪表板
方法中更改重定向,以转到返回仪表板索引的GET路由,而不是尝试重定向到POST路由。更改:

redirect('/admin/dashboard')
致:

旁注:

控制器上的
仪表板
方法可能命名为
登录
。然后
show\u dashboard
可以是
dashboard


您可以从文件中删除
会话\u start()
。Laravel不使用PHP会话。

因为
/admin/dashboard
的URI是
post
route=>
route::post('/admin/dashboard',[AdminController::class',dashboard'])将其更改为
get