2017-09-17 3 views
0

私はフォームに記入してデータベースに告知を追加しようとしています...ここでフォームlaravel

は私のHTMLです:

<div class="remodal" data-remodal-id="modal" data-remodal-options="closeOnOutsideClick: false"> 
<button data-remodal-action="close" class="remodal-close"></button> 
<h1>Post a new Announcement</h1> 
<hr /> 
    <form method="POST"> 
      <label><h4>Subject</h4> 
      <input name="newsTitle" type="text" placeholder="Announcement title"> 
      </label> 
      <label><h4>Body</h4> 
      <textarea name="newsBody" placeholder="Write the announcement message here"></textarea> 
      </label> 
      <input type="hidden" name="_token" value="{{ csrf_token() }}"> 

      <br> 
     <button data-remodal-action="cancel" class="remodal-cancel">Cancel</button> 
     <button type="submit" name="newAnnPost" class="remodal-confirm">POST</button> 
    </form> 
</div> 

とここに私のルートです: Route::post('/backend', '[email protected]');

、ここBackendControllerです:

public function store(Request $request) 
{ 
    if($request->has('newAnnPost')){ 
     $insertNews = new News; 

     $insertNews->subject = $request->newsTitle; 
     $insertNews->msg = $request->newsBody; 
     $insertNews->author = Auth::user()->name; 
     $insertNews->AuthorID = Auth::user()->id; 

     $insertNews->save(); 

     return redirect('/backend'); 
    } 
} 

WHE nタイプ= "submit"のPOSTボタンを押すと、ページは空白になり、何も起こりません。

また、フォームはモーダルにあり、私がモーダルを開いたときには... /バックエンド#モーダルではなく... /バックエンドでも問題になる可能性がありますか?

答えて

1

はスタートとして、私は、あなたの要求を処理しませんあなたのlaravelコントローラのように聞こえる、それはまた、この

<form method="POST" action="/backend"> 

ようにされて何かを持っている必要があり、formタグのaction属性が表示されません

$request->has('newAnnPost') 

要求がnewAnnPostは含まれませんが、それは私の知る限り、送信ボタンを他の2つの入力タグは含まれません、フォームが

を提出しているときにそのフォームの入力としてシリアライズありません
0

<form method="POST" action="/backend">

フォームにaction属性を追加し、コントローラにreturn redirect('/backend')は、同じページにフォームをリダイレクトします。

backendのためのgetルートを作成するか、フォームへのルート を指定するのを忘れて別のroute

0

にリダイレクトします。以下を追加してください:

<div class="remodal" data-remodal-id="modal" data-remodal-options="closeOnOutsideClick: false"> 
<button data-remodal-action="close" class="remodal-close"></button> 
<h1>Post a new Announcement</h1> 
<hr /> 
    <form method="POST" action="{{URL:to('/backend')}}"> 
      <label><h4>Subject</h4> 
      <input name="newsTitle" type="text" placeholder="Announcement title"> 
      </label> 
      <label><h4>Body</h4> 
      <textarea name="newsBody" placeholder="Write the announcement message here"></textarea> 
      </label> 
      <input type="hidden" name="_token" value="{{ csrf_token() }}"> 

      <br> 
     <button data-remodal-action="cancel" class="remodal-cancel">Cancel</button> 
     <button type="submit" name="newAnnPost" class="remodal-confirm">POST</button> 
    </form> 
</div> 

コントローラの別の場所にリダイレクトしてください。