2017-09-21 4 views
0

나는 laravel에서 기본 작업을 내 머리에 고밀히기 위해 간단한 작업 응용 프로그램을 만들고 있습니다. 필자는 작업을 만들어 데이터베이스에 제출 한 다음 홈 페이지로 다시 리디렉션 할 수있는 양식으로 페이지를 설정했습니다. 제출을 클릭하면 다음 화면이 표시됩니다.laravel의 데이터베이스에 작업을 추가 한 다음 리디렉션

비활성으로 인해 페이지가 만료되었습니다. 새로 고침하고 다시 시도하십시오.

여기 GitHub의에 프로젝트가의 나 : https://github.com/fullstackfox16/laravel-task

어떤 도움도 대단히 감사하겠습니다!

답변

2

양식에 csrf_token 필드를 추가하는 것을 잊었습니다.

<form method="POST" action="/posts"> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> <!-- THIS LINE --> 
    <div class="field"> 
    <label class="label">Task</label> 
    <div class="control"> 
     <textarea class="textarea" placeholder="Textarea" name="body"></textarea> 
    </div> 
    </div> 

    <div class="field is-grouped"> 
    <div class="control"> 
     <button class="button is-primary">Add Task</button> 
    </div> 
    </div> 

</form> 

그리고 문제가 지속되면 브라우저 캐시를 청소하고 다시 시도하십시오.

하나, 양식의 csrf_field() 추가된다

+0

감사합니다! 지금 그것은 나에게이 오류를주고있다 : "Class 'Post'not found". 컨트롤러의 코드는 다음과 같습니다. public function store() { \t $ post = new \ Post; \t $ post-> body = request ('body'); \t $ post-> save(); \t return redirect ('/'); } –

+0

@ L.Fox 게시물 모델을 어디에 넣었습니까? 나는 그것을 발견하지 못했다. –

+0

예 그 이후로 몇 가지 연구를 해본 결과 포스트 모델을 사용하지 않았습니다! Laravel Newbie !!! 도와 주셔서 감사합니다! 나는 내가 알아 들었던 모든 것을 가지고있다라고 생각한다! –

0

귀하의 질문에 구체적으로 기재 해주십시오. 일반적으로 HTML 양식을 사용하는 경우 요청이 메시지 가방과 함께 처리 된 후에 다시 리디렉션하여 사용자에게 메시지 피드백을 표시 할 수 있습니다. 흰색 화면이나 비정상적인 메시지가있을 경우 오류 구문이 없음을 확인하십시오.

+0

저는 Laravel의 새로운 기능이므로 코드가 올바르게 작성되었는지 잘 모르겠습니다. 어쩌면 내 코드를보고 내가 제대로했는지 알 수있을거야? 내가 원하는 일은 다음과 같습니다. 새로운 작업을 입력 한 다음 제출을 클릭하고 작업을 데이터베이스에 저장하고 싶습니다. 내가 생각한 홈 페이지로 리디렉션하고 싶습니다. –

+0

여기를 클릭하십시오. https://laravel.com/docs/5.4/validation –

0

는 아웃이 작동 할 수있는 두 가지 방법이 있습니다. 좋고 쉬운.

또는

그 경로가 VerifyCsrfToken middlaware을 형성 생략 할 수 있습니다

.

app/Http/Middleware/VerifyCsrfToken.php 

protected $except = [ 
     'your/route' 
    ]; 
+0

사이트에 csrf_field()를 추가하면 일반 텍스트로 표시됩니다. 내가 잘못 추가하는거야? 나는 그것을 추가하기 위해 블레이드를 사용하고있다. –

+0

나는 그것을 얻었다! 나는 csrf_field의 끝에있는 중괄호를 잊고 있었다. –

관련 문제