2017-09-25 4 views
-2

私はLaravelを初めて使っていて、値がaとbの2つの入力サブミットを持つミニプログラムを持っていただけです 私がクリックすると、そのcontrollerX @ functionBをクリックします。 私は自分のURLを変更したくありません。私はこれが単純なPHP(隠された入力)でどのように動作するかを知っています これが説明されているドキュメントは見つかりませんでした。誰かが私のためにそれをリンクしたり、私の質問に答えることができますかphp laravel 2回の送信のためのルート

答えて

-1

これは完全にlaravel質問はありませんが、別のルートにそれを送信するために同じルートに値aまたはbでパラメータを送信するためにhidden入力を使用、または<form>要素のactionパラメータを使用しますか。

<form method="POST"> 
    <input type="hidden" name="parameter" value="a"/> 
    ... 
    <button type="submit">Submit</button> 
</form> 

これは、handlePostとして、Controller関数によって処理されます:

public function handlePost(Request $request){ 
    $hiddenParameter = $request->input("parameter"); 

    if($hiddenParameter == "a"){ 
    // do something; 
    } else if($hiddenParameter == "b"){ 
    // do something else; 
    } else { 
    // tampering prevention; 
    } 
} 

あなたはaction方法でそれをやった場合は、フォームを持っていると思います:

<form method="POST" url="{{ url("/action/a") }}"> 
    ... 
</form> 

これらの各動作の機能と、handleAhandleB

public function handleA(Request $request){ 
    // do whatever; 
} 

public function handleB(Request $request){ 
    // do whatever; 
} 

最後に、あなたはこれらのアクションに対応するようにルートを必要とするだろう:

Route::post("/actions/a", "[email protected]"); 
Route::post("/actions/b", "[email protected]"); 

かなり広範な答えだが、正しい道にあなたを取得する必要があること。

関連する問題