首页 > 解决方案 > 每当我尝试提交我创建的注册表单时,都会弹出 Laravel 错误“404 not found”

问题描述

我已经进入 laravel 几天了,我正在接受一个教程。我被引导创建一个注册和登录表格。问题是,每当我在填写注册表单后单击提交按钮时,都会收到“404,未找到”错误。我还在命令行上运行了“php artisan route:list”,我的注册路线也列在那里。最糟糕的是,我不知道错误来自哪里。

这是代码:

WEB.PHP
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/



Route :: group (['middleware' => ['web']], function () {
   Route::get('/', function () {
    return view('welcome');
   });
   Route::post('/signup', [
        'uses' => 'UserController@postSignUp',
        'as' => 'signup'
   ]);
    
});
?>

WELCOME.BLADE.PHP

@extends('layouts.master')

@section ('title')
welcome!
@endsection


@section ('content')
<div class = "row">
    <div class = "col-md-6">
        <h3> Sign Up </h3>
        <form action ="{{route ('signup')}}" method = "post">
          <div class = "form-group">
                <label for= "email"> your E-mail </label>
                <input class = "form-control" type="text" name = "email" id= "email">
          </div>
          <div class = "form-group">
                <label for= "first_name"> your first name </label>
                <input class = "form-control" type="text" name = "first_name" id= "first_name">
          </div>
          
          <div class = "form-group">
                <label for= "password"> your password </label>
                <input class = "form-control" type="password" name = "password" id= "password">    
          </div>
          <button type = "submit" class = "btn btn-primary">submit</button>
        <input type = "hidden" name = "_token" value="{{Session::token() }}">
        </form>
                
</div>
<div class = "col-md-6">
    <h3> Sign In </h3>
        <form action = "#" method = "post">
          <div class = "form-group">
                <label for= "email"> your E-mail </label>
                <input class = "form-control" type="text" name = "email" id= "email">
          </div>
          
          
          <div class = "form-group">
                <label for= "password"> your password </label>
                <input class = "form-control" type="password" name = "password" id= "password">    
          </div>
          <button type = "submit" class = "btn btn-primary">submit</button>    
        </form>
                
    </div>
@endsection

这是 UserController 文件,伙计们

用户控制器.PHP


<?php
namespace App\Http\Controllers;

use App\user;
use Illuminate\Http\Request;

class UserController extends Controller {
    public function postSignUp(Request $request){
        $email = $request ['email'];
        $first_name = $request ['first_name'];
        $password = bcrypt($request ['password']);
        
        $user = new user();
        $user -> email = $email;
        $user -> first_name = first_name;
        $user -> password = $password;
        
        $user -> save();
        
        return redirect() -> back();
        
        
    }

    public function postSignIn (Request $request){
        
    
    }

}


?>

标签: phplaravelhttp-status-code-404

解决方案


如果您尝试手动构建 url 并放入浏览器去 /signup 会发生什么?如果你得到 404,尽管你在浏览器中硬输入了 url,那么你在 web.php 中有问题,另一个条目可能是


推荐阅读