Usuario.php
<?php
namespace Alura;
Class Usuario
{
private $nome;
private $sobrenome;
public function __construct(string $nome) {
$nomeSobrenome = explode(" ", $nome, 2);
if ($nomeSobrenome[0] === "") {
$this->nome = "Nome inválido";
} else {
$this->nome = $nomeSobrenome[0];
}
if ($nomeSobrenome[1] === null) {
$this->sobrenome = "Sobrenome inválido";
} else {
$this->sobrenome = $nomeSobrenome[1];
}
}
public function getNome (): string
{
return $this->nome;
}
public function getSobrenome (): string
{
return $this->sobrenome;
}
}
Cadastro.php
<?php
use Alura\Usuario;
require 'Usuario.php';
$usuario = new Usuario($_POST['nome']);
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="bootstrap.min.css">
<title>Curso Strings</title>
</head>
<body>
<div class="mx-5 my-5">
<h1>Cadastro feito com sucesso.</h1>
<p>Seguem os dados de sua conta:</p>
<ul class="list-group">
<li class="list-group-item">Primeiro nome: <?php echo $usuario->getNome() ?></li>
<li class="list-group-item">Sobrenome: <?php echo $usuario->getSobrenome() ?></li>
<li class="list-group-item">Usuário: </li>
<li class="list-group-item">Senha: </li>
<li class="list-group-item">Telefone: </li>
<li class="list-group-item">Email: </li>
<li class="list-group-item">Endereço: </li>
</ul>
</div>
</body>
</html>
Giovanni então fiz os passos conforme as vídeo aulas, e meu código Usuário.php e Cadastro.php ficaram assim mostrados acima. Porém quando eu executo os testes de quando o usuário digitar somente nome ou deixar em branco está aparecendo uma mensagem um aviso de NOTICE no FORMULÁRIO, aparece acima do Cadastro feito com sucesso:
Notice: Undefined offset: 1 in C:\xampp\htdocs\Projeto\strings\Usuario.php on line 20
Pode me informar por que está aparecendo está mensagem, faltou algo no meu código? eu fiz pelo Visual Studio, não consegui incluir a imagem do navegador.
No servidor fica assim:
preconnection [Fri Nov 27 08:57:41 2020] 127.0.0.1:60594 Closing [Fri Nov 27 08:57:41 2020] 127.0.0.1:60649 Accepted [Fri Nov 27 08:57:41 2020] 127.0.0.1:60650 Accepted [Fri Nov 27 08:57:41 2020] PHP Notice: Undefined offset: 1 in C:\xampp\htdocs\Projeto\strings\Usuario.php on line 20 [Fri Nov 27 08:57:41 2020] 127.0.0.1:60649 [200]: POST /cadastro.php [Fri Nov 27 08:57:41 2020] 127.0.0.1:60649 Closing [Fri Nov 27 08:57:42 2020] 127.0.0.1:60650 [200]: POST /bootstrap.min.css [Fri Nov 27 08:57:42 2020] 127.0.0.1:60650 Closing [Fri Nov 27 08:57:42 2020] 127.0.0.1:60651 Accepted [Fri Nov 27 09:00:05 2020] 127.0.0.1:60651 Closed without sending a request; it was probably just an unused speculative preconnection [Fri Nov 27 09:00:05 2020] 127.0.0.1:60651 Closing