Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Не получается добавить статью в базу, выдаёт ошибку
(1/1) TokenMismatchException
in VerifyCsrfToken.php line 68
at VerifyCsrfToken->handle(object(Request), object(Closure))
in Pipeline.php line 148
use Illuminate\Http\Request;
use App\Article;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class ArticleController extends Controller
{
public function create(){
//$this->authorize('create'); // <---- вот это важная строчка
return view('create');
}
public function store(Request $request){
Article::create($request->all());
return redirect('/articles');
}
}
@extends('layouts.app')
@section('content')
<div class="container">
<form class="form-horizontal" method="POST" action='/store'>
<label class="control-label">Название статьи</label>
<input type="text" class="form-control" name="title">
<label class="control-label">Статья</label>
<textarea class="form-control" ></textarea>
<input type="hidden" value="{{csrf_token()}}">
<input class="btn btn-primary" type="submit" value="Создать">
</form>
</div>
@endsection
Делаю во статье http://109.234.35.82/laravel-5-2-авторизация
А как авторизировать пользователя, после успешной проверки?
public function auth(Request $request)
{
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials))
{
if (Auth::check()) {
//что сюда писать?
}
}
else {
return redirect()->back();
}
}
Дошло return $this->auth($request);
Немного переделал функцию, не знаю, как запустить auth
public function check(Request $request)
{
$validator = Validator::make($request->all(), [
'password'=>'required|min:3',
'email' => 'required|email',
]);
if ($validator->fails())
{
return redirect()->back()->withErrors($validator->errors());
}
else {
return $this->auth(Request $request);
}
}
Не понимаю, как запустить метод auth из метода check, при успешной валидации?
Много статей и не одной толковой.
public function check(Request $request)
{
if($this->validate($request,[
'password'=>'required|min:3',
'email' => 'required|email',
])) {
return $this->auth();
}
}
public function auth(Request $request)
{
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials))
{
echo 'Данные правильные';
}
else {
echo 'Данные не правильные';
}
}
Сейчас, после успешной валидации, отображается пустая страница.
Какой класс нужно подключить, что бы нашёлся метод attach?
public function store(Request $request)
{
$article = Article::create($request->all());
if($request->input('categories')):
$article->categories()->attach($request->input('categories'));
endif;
return redirect()->route('admin.article.index');
}
public function categories()
{
return $this->morphMany('App\Category', 'categoryable');
}
В доке ничего не написано.
Это не работает
use Illuminate\Database\Eloquent\Model;