我必须在数据库中注册一个用户,当我点击注册按钮时,会出现一个错误:
尝试访问 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';
}
}