Pereiti prie turinio

[Solved][Laravel5] TokenMismatchException


Rekomenduojami pranešimai

Sveiki. Turiu formą:


<form method='post' action='{{ URL::to("shoutbox") }}'>
<div class='form-group'>
	{{ csrf_field() }}
	<textarea class='form-control' name='shout' id='shout' rows='4' placeholder='Šaukinio tekstas*' maxlength='500'></textarea>
	<button type='submit' class='button shout' id='shoutbox'>Šaukti</button>
</div>
</form>

 

Paspaudus mygtuką gaunu error'ą:

TokenMismatchException in VerifyCsrfToken.php line 67


in VerifyCsrfToken.php line 67
at VerifyCsrfToken->handle(object(Request), object(Closure)) in VerifyCsrfToken.php line 17
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 62
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Router.php line 726
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 699
at Router->dispatchToRoute(object(Request)) in Router.php line 675
at Router->dispatch(object(Request)) in Kernel.php line 246
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 132
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99
at Kernel->handle(object(Request)) in index.php line 54

 

Route eilutė:

Route::resource('shoutbox', 'ShoutboxController');

 

 

Controller'io store:


   public function store(Request $request) {
       return var_dump($request->all());
   }

Redagavo NamelessSpy
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pradziai paziurek per inspectoriu ar tikrai ideda hidden inputa su tokenu i forma.

 

Jeigu yra, tai bandyk iwrappinti routa i grupe su 'web' middleware:

 

Route::group(['middleware' => 'web'], function()
{
   Route::resource('shoutbox', 'ShoutboxController');
});

 

arba gali tiesiai kontrollerio konstruktoriuj:

$this->middleware('web')

Redagavo mogohax
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pradziai paziurek per inspectoriu ar tikrai ideda hidden inputa su tokenu i forma.

 

Jeigu yra, tai bandyk iwrappinti routa i grupe su 'web' middleware:

 

Route::group(['middleware' => 'web'], function()
{
   Route::resource('shoutbox', 'ShoutboxController');
});

 

arba gali tiesiai kontrollerio konstruktoriuj:

$this->middleware('web')

Galima plačiau apie inspectorių? Pirmą kartą girdžiu.

 

Bandyk:

<input type="hidden" name="_token" value="{{ csrf_token() }}" />

 

Bandžiau, nepadeda.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pabandyk tada prie <head> tagų prirašyt šitą:

<meta name="csrf-token" content="{{ csrf_token() }}" />

 

Irgi bandžiau, nepadėjo.

 

Bandžiau debug'int ir supratau, kad viskas dėl to, nes view failas kviečiamas naudojant modelį (static function). Tai klausimas kaip man sutvarkyt viską, nes nelabai įsvaizduoju sprendimo.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Shoutbox extends Model
{
   protected $table = "shoutbox";

   public static function block() {
   	$url = \URL::to('shoutbox');
   	$shouts = \App\Shoutbox::all();
   	return view('sidebar')
   		->with('url', $url)
   		->with('shouts', $shouts);
   }
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose


<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Shoutbox extends Model
{
   protected $table = "shoutbox";

   public static function block() {
   	$url = \URL::to('shoutbox');
   	$shouts = \App\Shoutbox::all();
   	return view('sidebar')
   		->with('url', $url)
   		->with('shouts', $shouts);
   }
}

 

aš gerai matau? iš model'io tu gražini view'sa? wtf kas čia per dviračio išradinėjimas

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Svečias
Ši tema yra užrakinta ir joje nebegalima rašyti naujų pranešimų.
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...