Оставить на демо-сайте форму, но не дать ее сохранить

Авторизация Настройка Разработка

Автор: ACym.ru - February 17, 2016 8:33 pm

Простой способ показать функционал приложения, отключив возможность изменения данных

При работе демо-сайтов, на которых представлена рабочая версия веб-приложения, всегда встает вопрос, что делать с тем мусором, которым пользователи в процессе тестирования забивают приложение.

Иногда для этого серверными методами все обнуляют через заданный промежуток времени.

Иногда отключают кнопки "сохранить" и иже с ними.

Все это достаточно трудоемко, и вообще - заноза в заднице.

Один из вариантов: заблокировать передачу данных через формы. То есть сделать так, чтобы сама форма ввода данных была видна, но если пользователь не авторизован, то ничего передать с ее помощью не сможет. Естественно, база данных при этом должна быть заполнена по максимуму, чтобы можно было посмотреть работу приложения в приближенных к реальным условиям.

Чтобы это реализовать, окружаем элементы формы проверкой через систему авторизации следующим образом:

<fieldset {{ Auth::check() ? "" : "disabled=\"disabled\"" }}>
...
здесь идут элементы формы
...
</fieldset>

Теперь страница с формой будет представлена в том виде, в каком она присутствует на рабочем сайте, но ввести ничего в нее нельзя, не будучи авторизованным.

Возможно, не идеальный вариант, но имеет право на существование. Все зависит от поставленной задачи.

Например, если сайт используется в демо-целях, но и наполнение у него реальное, а не просто "на посмотреть" (для индексирования, например, это совсем не плохо).

.

P.S. Естественно, коль скоро речь идет о реально светящемся в сети сайте, необходимо дополнительно ввести меры предосторожности, чтобы вам там ничего не поломали.

Используем для этого обычные процедуры.

Так, например, в контроллере, вставляем проверку на запись, редактирование и обновление через мидельварь:

public function __construct()
{
    $this->middleware('auth', 
        ['only' => ['store', 'edit', 'update']]);
}

Удачных разработок!
Заходите на LaraNotes.ru, и оставляйте свои записки по работе с Laravel.

.