2016-07-07 8 views
1

Laravelにセッション変数のみを含むショッピングカートシステムを実装しようとしています。POSTメソッドのルートが動作していないアイテムを保存する

しかし、私は自分のフォーム送信するとき:

<form method="POST" action="{{ route('panierAdd') }}"> 
       <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
      <table> 
       <tr> 
       <td> 
        Nombre de serveurs physiques 
       </td> 
       <td> 
        <select id="nb_serveurs" name="nb_serveurs"><option value="0">Choisir une option</option><option value="1" selected="selected" >1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option></select> 
       </td> 
       </tr> 
       <tr> 
       <td> 
        Type de licence 
       </td> 
       <td> 
        <select id="type" name="type"><option value="0">Choisir une option</option><option value="1" selected="selected" >Illimitée</option><option value="2">Standard</option></select> 
       </td> 
       </tr> 
       <tr> 
       <td> 
        Durée 
       </td> 
       <td> 
        <select id="duree" name="duree"><option value="0">Choisir une option</option><option value="1" selected="selected">1 an</option><option value="2">2 ans</option><option value="3">3 ans</option></select> 
        <a class="reset_variations" href="#">Effacer</a> 
       </td> 
       </tr> 
      </table> 
      <div style="width:100%;height:50px;" id="div-price"> 
       <div class="price"><span id="total">495,00 € HT</span></div> 
      </div> 
      <div class="panier-button"> 
       <input type="submit" class="single_add_to_cart_button button alt joli-boutton" id="panier-go" value="Ajouter au panier"/> 
      </div> 
</form> 

を私のルートがあります

Route::post('/panier/add',[ 
    "uses" => "[email protected]", 
    "as" => "panierAdd" 
]); 

Route::delete('panier/delete',[ 
    "uses" => "[email protected]", 
    "as" => "panierDelete" 
]); 

Route::get('panier',[ 
    "uses" => "[email protected]", 
    "as" => "panier" 
]); 

そして、ここではProductControllerです:

class ProductController extends Controller 
{ 
    public function addToCard (Request $request){ 
     $nb_serveurs = $request->nb_serveurs; 
     $type = $request->type; 
     $duree = $request->duree; 
     $product = new Produit($nb_serveurs, $type, $duree); 
     if (Session::has('panier')) 
     { 
      $panier = Session::get('panier'); 
      $id = Session::get("id")+1; 
     }else{ 
      $panier = new Panier(); 
      $id = 1; 
     } 
     $panier->addItem($product, $id); 
     $panier->calcPrixTot(); 
     Session::put("panier", $panier); 
     Session::put("id", $id); 
     return Redirect::route('panier'); 
    } 

    public function deleteFromCard (Request $request){ 
     Session::forget('panier'); 
     if(Session::has('panier')){ 
     return view("panier.panier"); 
     }else{ 
     return view('index'); 
     } 

    } 
    public function card (Request $request){ 
     return view('panier.panier'); 
    } 
} 

私はフォームを送信すると、ここにそれが私に与えられるものです:

MethodNotAllowedHttpException in RouteCollection.php line 218 

どうしたのですか?

答えて

0

これはルーティングと関係があります。私はあなたのルートuriから最初のスラッシュを削除し、asを交換し、キーを使用して試してみることが2つあります。それはない... Laravelはルートに関する非常に敏感であるうん、それは動作するようになりまし

Route::get('panier/add', ['as' => 'panierAdd', "uses" => "[email protected]"]);

+0

の下にこれを試してみてください? –

+0

ええ、ちょうど関心がありませんでしたそれはスラッシュですか? –

+0

asとway roundを使用 –

関連する問題