0

我必须在数据库中注册一个用户,当我点击注册按钮时,会出现一个错误:

尝试访问 null 类型值的数组偏移量(查看:C:\laragon\www\digital-valley-psico\resources\views\guest\pages\register-student.blade.php)

当我查看浏览器的网络选项卡时,GET 请求失败

我正在使用 Laravel 5.4 和 PHP 7.4

@section('content')
       
     <cadastrar-aluno :cursos="{{$cursos}}" 
                        :old='{"nome":"{{old("nome",$dadosPedido['nome'])}}",
                                "data_nascimento": "{{old("data_nascimento")}}",
                                "genero": "{{old("genero")}}",
                                "matricula": "{{old("matricula",$dadosPedido['matricula'])}}",
                                "id_pais": "{{old("id_pais")}}", 
                                "id_estado": "{{old("id_estado")}}",
                                "id_cidade": "{{old("id_cidade")}}",
                                "endereco": "{{old("endereco")}}", 
                                "bairro": "{{old("bairro")}}", 
                                "numero": "{{old("numero")}}", 
                                "email": "{{old("email")}}", 
                                "telefone_celular": "{{old("telefone_celular")}}", 
                                "telefone_residencial": "{{old("telefone_residencial")}}", 
                                "curso": "{{old("id_curso")}}", 
                                "semestre": "{{old("semestre_matricula")}}" }' 
                        :url="'{{$base_url}}'"/>
    
@endsection

错误

路线:

    $this->get('/pedidoCadastro','Site\AlunoController@mostrarformularioPedidoCadastro');
$this->post('/pedidoCadastro','Site\AlunoController@verificarPedidoCadastro')->name('verificarPedidoCadastro');
$this->get('/realizarCadastro','Site\AlunoController@mostrarFormularioCadastrarAluno');
$this->post('/realizarCadastro','Aluno\RegistrarAlunoController@registrarAluno')->name('registrarAluno');

控制器 :

 public function mostrarFormularioCadastrarAluno(Request $request)
{

   
    if(!$request->session()->get('dadosPedido') && !$request->session()->get('_old_input'))
        return redirect('/pedidoCadastro')->withErrors(['credenciais' => 'Informe os dados abaixo para acessar o cadastro de aluno.'])->withInput();

    
    return view('guest.pages.cadastrar-aluno',['cursos' => Curso::all(), 'base_url' => env('APP_URL'), 'dadosPedido' => $request->session()->get('dadosPedido')]);   
}

public function mostrarformularioPedidoCadastro(Request $request)
{
    return view("guest.pages.register-initial");
}

public function verificarPedidoCadastro(Request $request)
{

    $validacao = Validator::make($request->input(), [
        'nome' => 'required',
        'matricula' => 'required'
    ]);

    if ($validacao->fails())
        return redirect()->back()->withErrors($validacao);

    if($this->verificarAluno($request->matricula))
        return redirect()->back()->withErrors(['credenciais' => 'A matrícula informada já pertence a outro usuário.']);

    $res = $this->buscarAlunoApi($request->matricula);
    $statusCode = $res->getStatusCode();
    switch($statusCode){
        case 200:
            $data = json_decode($res->getBody());
            if(count($data) > 0){
                $data = $data[0];
                if($data->matricula == $request->matricula && strtoupper($data->nome) == strtoupper($request->nome)){
                    return redirect('/realizarCadastro')->with(['dadosPedido' => ['nome' => $data->nome, 'matricula' => $data->matricula]]);
                }else{
                    return redirect()->back()->withErrors(['credenciais' => 'O nome do aluno informado é inválido'])->withInput();
                }   
            }else{
                return redirect()->back()->withErrors(['credenciais' => 'A matrícula não existe em nossa base de dados. Favor entrar em contato com o N2S.'])->withInput();
            } 
        break;
        default:
            return redirect()->back()->withErrors(['credenciais' => 'A matrícula não existe em nossa base de dados. Favor entrar em contato com o N2S.'])->withInput();
        break;
    }
}

会话.php

class Session extends Facade
{       
protected static function getFacadeAccessor()
    {
        return 'session';
    }
}
4

0 回答 0