PHP, как перенаправить пользователя на предыдущую страницу с некоторыми переменными - PullRequest
0 голосов
/ 07 июля 2019

Я создаю собственное приложение PHP MVC, которое проверяет ввод данных пользователем, и если что-то не так, они должны быть перенаправлены обратно с переменной, содержащей все ошибки проверки.

вот как я хочу это сделать, и я пытаюсь подражать Laravel здесь LOL:

функция контроллера, которая использует функцию черты для проверки почтового запроса

public function store(Request $request)
    {
        $this->validate($request, [
            'name' => 'required|min:3|max:100|unique:categories'
        ]);

        $category = Category::create([
            'name' => $request->name,
            'slug' => slugify($request->name)
        ]);

        return Redirect::back();
    }

и вот метод проверки

public function validate($data, $policies)
    {
        foreach($policies as $column => $rules)
        {
            if (property_exists($data, $column))
            {
                $array_of_rules = explode("|", $rules);
                foreach (array_reverse($array_of_rules) as $method_name)
                {
                    if (strpos($method_name, ":") == false) {
                        $this->$method_name($column, $data->$column);
                    } else {
                        list($method, $param) = explode(":", $method_name);
                        $this->$method($column, $data->$column, $param);
                    }
                }
            }
        }

        $errors = new Errors($this->errorMessages);

        if ($this->hasValidationErrors)
        {
            Session::set('errors', $errors);
            Redirect::back();
        }
    }

Я проверяю внутри метода validate на наличие ошибок

$errors = new Errors($this->errorMessages);

        if ($this->hasValidationErrors)
        {
            Session::set('errors', $errors);
            Redirect::back();
        }

затем я пытаюсь зарегистрировать их в переменной сеанса ошибок, но это не сработает, потому что я хочу проверять наличие ошибок, как мы делаем в laravel, как это

если ($ errors-> любой ())

сделать что-нибудь ....

как перенаправить назад и установить переменную ошибок, к которой можно получить доступ на этой задней странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...