2017-02-17 14 views
-1

私は現在idをURL blog.dev/image?=1に渡しています。このページでは、1をコントローラ関数に渡す必要があります。URLパラメータをコントローラに渡す - laravel

これを達成するために私が現在行っていることは、隠された入力フィールドを使用し、IDに値を渡すことです。しかし、ユーザーがこの値をインスペクタで変更できるので、これを行うには良い方法だとは思いません。

ルート

Route::get('/image', '[email protected]'); 
Route::post('/image', '[email protected]'); 

public function index(Request $request) { 
    $imgID = $request->query('id'); 
    return view('imgupload.create', compact('imgID')); 
} 

public function store(Request $request){ 
    $imgID = $request->query('id'); 
} 

$imgID戻っnull私は店の機能を実行するたびに。何が間違っているのですか?

+0

https://laravel.com/docs/5.4/routing#route-parameters + https://laravel.com/docs/5.4/controllers#basic-controllers – Laran

+0

'$ query_string_array = $ request-> input() ; ' –

答えて

0

あなたの既に持っているあなたのURLパラメータで簡単です(ただし、フォーマットが不適切です)。

あなたの現在のURLは

blog.dev/image?=1 

が、それはあなたのコントローラ内に後で

blog.dev/image?id=1 

、あなたは時々

$imgID = $request->id; 

は、このparamはあることを起こるかもしれない、その値を得ることができなければなりませんです設定されていないので、そのパラメータが存在するかどうかを確認することが賢明です

if ($request->has('id')) { 
    $imgID = $request->id; 
    // 
} 

フォーム/ ajaxからの投稿/取得要求にも同じ規則が適用されます。

関連する問題