Witam. Jestem amatorem.
W web.php mam: Route::get('/pages/create', 'PageController@create');
W PageController.php: public function create(){ return view('pages.create'); }
jak wchodzę w adres "www......pages/create", to mam błąd 404 o nie znalezieniu strony.
dodam, że "www....pages" działa, "www.....pages/1"... działa... tylko ten "pages/create" mi nie wczytuje.
PageController.php
<?php
namespace App\Http\Controllers;
use App\Page;
use Illuminate\Http\Request;
class PageController extends Controller
{
public function index(){
$pages =Page::all();
return view('pages.index', compact('pages'));
}
public function show ($id) {
$page = Page::findOrFail($id);
return view('pages.show', compact('page'));
}
public function create(){
return view('pages.create');
}
public function stworz(Request $request){
$request->validate([
'title'=>'required',
'slug'=>'required',
'content'=>'required|min:3',
]);
Page::create($request->all());
return redirect('/pages');
}
}
web.php
<?php
Route::get('/', function () {
return view('welcome');
});
Route::get('/pages/create', 'PageController@create');
Route::get('/pages', 'PageController@index');
Route::post('/pages', 'PageController@stworz');
Route::get('/pages/{slug}', 'PageController@show');
Route::get('/testy', function () {
return view('testy');
});
Route::get('/logo', function () {
return view('logowanie');
});
Route::get('/dupa','Controller1@smile');
create.blade.php (w folderze pages)
@extends('layouts.app')
@section('title','Dodaj nową stronę')
@section('content')
<form action="/pages" method="post">
@csrf
<div class="form-group">
<label for="">Tytuł</label>
<input type="text" class="form-control" name="title">
</div>
<div class="form-group">
<label for="">Alias</label>
<input type="text" class="form-control" name="title">
</div>
<div class="form-group">
<label for="">Treść</label>
<textarea name="content" class="form-control"></textarea>
</div>
<button class="btn btn-primary">Dodaj</button>
</form>
@endsection
Page.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Page extends Model
{
protected $table ='pages';
protected $fillable = ['title','slug','content'];
}
app.blade.php
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>@yield('tytul')</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('public/css/app.css') }}">
</head>
<body>
@if($errors->any())
<div class="alert alert-danger">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="container">
@yield('content')
</div>
</body>
</html>