Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#26 Laravel 5.x » Создание статьи » 19.05.2018 22:18:18

Dimak
Ответов: 2

Не получается добавить статью в базу, выдаёт ошибку

(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-авторизация

#27 Re: Laravel 5.x » Валидация и аунтификация » 19.05.2018 18:27:00

А как авторизировать пользователя, после успешной проверки?

public function auth(Request $request)
    {
         $credentials = $request->only('email', 'password');
       
        if (Auth::attempt($credentials))
        {
            if (Auth::check()) {
               //что сюда писать?
            }
        }
        else {
             return redirect()->back();
        }
    }

#29 Re: Laravel 5.x » Валидация и аунтификация » 19.05.2018 18:06:27

Немного переделал функцию, не знаю, как запустить 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);
            }
 
    }

#30 Laravel 5.x » Валидация и аунтификация » 19.05.2018 17:25:48

Dimak
Ответов: 6

Не понимаю, как запустить метод 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 'Данные не правильные';
        }
    }

Сейчас, после успешной валидации, отображается пустая страница.

#31 Laravel 5.x » Метод attach » 15.05.2018 10:22:03

Dimak
Ответов: 1

Какой класс нужно подключить, что бы нашёлся метод 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;

Подвал раздела