2016-11-21 7 views
0

Первый и для большинства, я бы не спросил здесь, если бы я еще не занимался некоторыми исследованиями, я видел много похожих названных Вопросов, но они, похоже, не та же проблема, что и у меня.NotFoundHttpException в RouteCollection в Laravel

= Фактическое начало =

Так я после этого Web Tutorial Series под названием Laravel 5.2 PHP Создание социальной сети и я застрял в конце третьего эпизода. Моя проблема заключается в том, что, когда я пытаюсь нажать Зарегистрируйтесь кнопку, я получаю эту ошибку:

1/1 
NotFoundHttpException in RouteCollection.php line 161: 
in RouteCollection.php line 161 
at RouteCollection->match(object(Request)) in Router.php line 755 
at Router->findRoute(object(Request)) in Router.php line 610 
at Router->dispatchToRoute(object(Request)) in Router.php line 596 
at Router->dispatch(object(Request)) in Kernel.php line 267 
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46 
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104 
at Pipeline->then(object(Closure)) in Kernel.php line 149 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116 
at Kernel->handle(object(Request)) in index.php line 54 

Я попытался Крепление web.php, welcome.blade.php, UserController.php

Может кто-нибудь помочь мне понять, что не так?

web.php

<?php 

/* 
|-------------------------------------------------------------------------- 
| 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::get('/', function() { 
    return view('welcome'); 
}); 

Route::post('/signup', [ 
    'uses' => '[email protected]', 
    'as' => 'signup' 
]); 

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){ 
     $email = $request['email']; 
     $password = $request['password']; 
    } 
} 

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 Email</label> 
        <input type="form-control" type="text" name="email" id="email"> 
       </div> 
       <div class="form-group"> 
        <label for="first_name">Your First Name</label> 
        <input type="form-control" type="text" name="first_name" id="first_name"> 
       </div> 
       <div class="form-group"> 
        <label for="password">Your Password</label> 
        <input type="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 Email</label> 
        <input type="form-control" type="text" name="email" id="email"> 
       </div> 
       <div class="form-group"> 
        <label for="password">Your Password</label> 
        <input type="form-control" type="password" name="password" id="password"> 
       </div> 
       <button type="submit" class="btn btn-primary"> Submit</button> 
      </form> 
     </div> 
    </div> 
@endsection 

Go-й когда я побежал: PHP ремесленник маршрут: список

+--------+----------+----------+--------+------------------------------------------------+---------- 
----+ 
| Domain | Method | URI  | Name | Action           | Middlewar 
e | 
+--------+----------+----------+--------+------------------------------------------------+---------- 
----+ 
|  | GET|HEAD |/  |  | Closure          | web 
    | 
|  | GET|HEAD | api/user |  | Closure          | api,auth: 
api | 
|  | POST  | signup | signup | App\Http\Controllers\[email protected] | web 
    | 
+--------+----------+----------+--------+------------------------------------------------+---------- 
----+ 

EDIT 11/21/2016 7:00 вечера: Следует отметить, что в то время как я использую Laravel 5.3, я не уверен, что был Presenter используя, но он использовал projec, который имеет routes.php, я просто попытался обойтись, используя web.php, так как это, кажется, самое близкое к тому, что мне нужно следовать по учебнику. У меня также есть ссылка как http://localhost/hiro/public/

+0

Вы можете запустить 'PHP мастеровых маршрут: list' пожалуйста – James

+0

Это может быть то, что вы хотите: | ПОСТ | регистрация | регистрация | Приложение \ Http \ Controllers \ UserController @ postSignUp | web –

+0

Эта ошибка, поскольку вы получаете доступ к этому маршруту в методе GET, но в вашем коде на маршруте вы разрешаете метод POST 'Route :: post ('/ signup',' разрешить другой метод в этом URL-адресе 'Route :: match (' GET ',' POST ',' PUT 'и т. Д.) ' – Beginner

ответ

0

Это ваш конфигурации сервера.

Пожалуйста, используйте /hiro/public в качестве вашего корня документа в своем призвании.

Альтернативно добавьте это в свой.файл .htaccess:

RewriteEngine On 
RewriteRule ^(.*)$ public/$1 [L] 
+0

Вы имеете в виду, как создать новый apache vhost? –

+0

Не обязательно. Просто отредактируйте существующий vhost's DocumentRoot. Или, как сказано, вы можете редактировать файл .htaccess. Цель состоит в том, чтобы избавиться от/public в вашем URL-адресе. – sleepless

+0

Да, это сделало это для меня, я почти хочу проклинать себя и ударить головой по столу, экрану и ноутбуку. Я создал vhost по имени hiro и получил доступ к приложению через http: // hiro/ Это исправлено, спасибо всем, кто пытался мне помочь. –

0

Кажется, что нет ничего плохого в маршруте.

Это действительно просто догадка для меня, но стоит дать выстрел:

web.php

<?php 

// Removed a forward slash from the route 
Route::post('signup', [ 
    'uses' => '[email protected]', 
    'as' => 'signup' 
]); 

welcome.blade.php

 <div class="col-md-6"> 
      <h3>Sign Up</h3> 
      <!-- Use a regular HTML route instead of Laravel's own --> 
      <form action="/signup" method="POST"> 
       <div class="form-group"> 
        <label for="email">Your Email</label> 
        <input type="form-control" type="text" name="email" id="email"> 
       </div> 
       <div class="form-group"> 
        <label for="first_name">Your First Name</label> 
        <input type="form-control" type="text" name="first_name" id="first_name"> 
       </div> 
       <div class="form-group"> 
        <label for="password">Your Password</label> 
        <input type="form-control" type="password" name="password" id="password"> 
       </div> 
       <!-- Changed the submit button to input element instead of button --> 
       <input type="submit" class="btn btn-primary" value="Submit"> 
       <input type="hidden" name="_token" value="{{Session::token()}}"> 
      </form> 
     </div> 
+0

Различные ошибки. Объект не найден! Запрашиваемый URL-адрес не найден на этом сервере. Ссылка на ссылочной странице кажется неправильной или устаревшей. Пожалуйста, сообщите автору этой страницы об ошибке. Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру. –

+0

Приятно попробовать. –

+0

Что произойдет, если вы попытаетесь изменить маршрут на 'GET' для целей тестирования и попробуйте что-то возвратить? F.e: 'Route :: get ('/ signup', function() { return" Hello World! "; });'. Возвращает ли он «Hello World!»? –