2017-09-25 11 views
-2

Je suis nouveau à Laravel et je voulais juste avoir un miniprogramm, qui a 2 entrées soumises avec la valeur a et b, Quand je clique sur un il y a une route à controllerX @ fonction et quand Je clique sur b son controllerX @ functionB. Je ne souhaite pas modifier mon URL. Je sais comment cela fonctionne en PHP simple (entrée cachée) Je ne pouvais pas trouver une documentation où cela est expliqué. Quelqu'un peut-il le lier pour moi ou répondre à ma question?php laravel 2 routes pour 2 soumets

Répondre

-1

Ce n'est pas tout à fait une question Laravel, mais vous pouvez utiliser hidden entrées pour envoyer un paramètre avec une valeur a ou b à la même route, ou utiliser le paramètre action d'un élément <form> pour l'envoyer à un autre itinéraire .

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

Ce serait géré par une fonction Controller, comme handlePost:

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

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

Si vous l'avez fait avec la méthode action, vous auriez la forme:

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

et une fonction pour chacune de ces actions, handleA et handleB:

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

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

Enfin, vous aurez besoin des itinéraires pour correspondre à ces actions:

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

C'est une réponse assez large, mais si vous êtes sur le bon chemin.