Как предотвратить ручную настройку URL в laravel - PullRequest
0 голосов
/ 10 января 2020

Я создаю одно приложение викторины. В котором студенты посещают вопрос и нажимают на следующую кнопку, появляется следующий вопрос. теперь проблема заключается в том, что ученик отвечает на второй вопрос и URL-адрес выглядит как «takeQuizStudent/149?page=2», и он вручную меняет URL-адрес на «takeQuizStudent/149?page=1». , так не должно быть. После нажатия на следующий вопрос он не может go вернуться к предыдущему вопросу.

1 Ответ

2 голосов
/ 10 января 2020

Вы должны проверить номер страницы запроса от session в вашем контроллере, например

public function show(Request $request, $id)
{

  $value = $request->session()->get('pageNumber'); //2

  //$id = 1
  if($id < $value){
     return response("invalid request",504);
  }

  //else update pageNumber value and do continue

 // Via a request instance...
 $request->session()->put('pageNumber', '3');

 // Via the global helper...
 session(['pageNumber' => '3']);

     .....
}

Определение наличия элемента в сеансе

Чтобы определить если элемент присутствует в сеансе, вы можете использовать метод has. Метод has возвращает true, если элемент присутствует и отсутствует null:

if ($request->session()->has('pageNumber')) {
    //
}

Чтобы определить, присутствует ли элемент в сеансе, даже если его значение равно null, Вы можете использовать метод exists. Метод exists возвращает true, если элемент присутствует:

if ($request->session()->exists('pageNumber')) {
    //
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...