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

Я получаю эту ошибку в PHP Laravel при доступе к данным в лезвии.

Использование неопределенной константы user_id — предполагается «user_id» (это вызовет ошибку в будущей версии PHP) (Просмотр: /home/beatsbaj/public_html/resources/views/user/reset-password.blade.php)

#Here is My Controller's function
public function resetPassword()
    {
        try
        {
            $token_id = Crypt::decrypt(Request::segment(2));
            $token = Crypt::decrypt(Request::segment(3));
            $data = Remembertoken::select('id', 'token_id', 'token', 'user_id')->where('token_id', $token_id)->get()->first();
            if(!$data)
            {
                return abort(404);
            }
            else if($data)
            {
                if($data->token != $token)
                {
                    return abort(404);
                }
                else if($data->token == $token)
                {

                    return view('user.reset-password', ["token_id"=>$token_id, "user_id"=>$data->user_id]);
                }
            }

        }
        catch(\Exception $e)
        {
                abort(404);
        }

    }

Моя часть Ajax в лезвии, когда я обращаюсь к переменной user_id.

<script>
    $(document).ready(function(){
        $("#reset-pass-form").submit(function(event) {
            event.preventDefault();
            var form = $(this);
            form = form.serialize(form);
            $.ajax({
                url:"{{url('/reset-password-now')}}",
                type:"post",
                data:form,
                success:function(response){
                    console.log(response);
                    console.log("{{user_id}}");      // Getting Error Here
                },
                error:function(xhr, ajaxOptions, thrownError){
                    alert(xhr.status);
                },
            });
        });
});
</script>

person Riosant    schedule 13.09.2018    source источник
comment
console.log("{{user_id}}"); должно быть console.log("{{$user_id}}");. Если вы опустите $ перед переменной, она будет считаться константой. Поскольку у вас нет константы с именем user_id, PHP предполагает, что это строка, и выводит буквальный текст user_id. Это поведение может измениться в будущих версиях.   -  person Magnus Eriksson    schedule 13.09.2018
comment
О мой Бог! Не могу поверить, что я это сделал. Большое спасибо.   -  person Riosant    schedule 13.09.2018
comment
Вот хороший пост SO о всех видах сообщений об ошибках. Это хорошая страница для добавления в закладки Reference - Что означает эта ошибка в PHP ?. В этом случае вот ответ. Я бы пометил это как дубликат, но я уже проголосовал за закрытие этого вопроса как опечатки.   -  person Magnus Eriksson    schedule 13.09.2018


Ответы (2)


Предполагается, что это '{{ $user_id }}', а не {{ user_id }}. Обратите внимание на разницу $.

Кроме того, почему вы хотите создавать исключения для своих пользователей? Я думаю, у вас должна быть страница ошибки по умолчанию или просто перенаправление на другую страницу (или предыдущую страницу)

person Oluwatobi Samuel Omisakin    schedule 13.09.2018

Почему я получаю эту ошибку?

Переменная без $ называется константой. Сначала должна быть определена константа: http://php.net/manual/en/language.constants.php

Решение

В вашем представлении отсутствует $:

console.log("{{ $user_id }}");
person thisistg    schedule 13.09.2018