Pessoal to criando um sistema de cadastro em php, por enquanto sem banco de dados, pois será implementado numa etapa posterior. No lugar do banco estou salvando os dados da pessoa que efetua o cadastro em um arquivo texto. Preciso que essa pessoa cadastrada possa realizar um login tendo acesso a uma página de alteração de seus dados cadastrais, porém não sei como realizar a comparação do login e senha inseridos pelo o usuário com o arquivo texto que contém o login e senha cadastrados.
Requisitos do sistema :
1º - Uma classe Pessoa é responsável por realizar o cadastro no arquivo texto.
2º - Uma classe Usuario que herda métodos e atributos da classe pessoa é responsável por realizar alterações nos dados do usuário já cadastrado.
3º - Possui validação de e-mail e validação de repetição de senha.
Segue abaixo o que eu consegui fazer até agora:(Peço desculpas adiantado pois nunca programei e preciso criar este sistema para o meu atual emprego)
Formulário de cadastro:
Nome *
Data de Nascimento
Login *
e-mail para Cadastro *
Senha *
Repita Senha *
Tipo de conta : IndefinidoRegistradoAdministrador
(*) Campos de preenchimento obrigatório
/* Classe Pessoa.php*/
class Pessoa {
private $nome;
private $data;
protected $login;
private $email = 'user@example.com';
protected $senha;
private $repete;
private $TipoConta;
public function __construct($nome, $data, $login, $email, $senha, $repete, $TipoConta) {
$this->nome = $nome;
$this->data = $data;
$this->login = $login;
$this->email = $email;
$this->senha = $senha;
$this->repete = $repete;
$this->TipoConta = $TipoConta;
}
public function validarCampos($nome, $data, $login, $email, $senha, $repete, $TipoConta) {
if (!(empty($nome) || empty($data) || empty($login) || empty($email) || empty($senha) || empty($repete) || empty($TipoConta))) {
echo "Obrigado por preencher os campos";
// echo 'é foda';
} else {
header("Location: html/cadastro.html"); exit;
}
}
public function validarEmail($email) {
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo " email é válido.";
} else {
//echo "email inválido";
header('Location: html/cadastro.html');
exit;
}
}
public function validarSenha($senha, $repete) {
if ($senha == $repete) {
echo "Senhas conferem";
} else {
//echo "Senhas não conferem";
header('Location: html/cadastro.html');
exit;
}
}
public function __sleep() {
return array(
"nome","data","login","email","senha","repete","TipoConta"
);
}
/*Página cadastrar.php recebe os dados do formulário*/
include_once 'class/Pessoa.php';
$nome1 = $_POST['nome'];
$data1 = $_POST['data'];
$login1 = $_POST['login'];
$email1 = $_POST['email'];
$senha1 = $_POST['senha'];
$repete1 = $_POST['repete'];
$TipoConta1 = $_POST['TipoConta'];
$obj = new Pessoa($nome1, $data1, $login1, $email1, $senha1, $repete1, $TipoConta1);
$obj->validarCampos($nome1, $data1, $login1, $email1, $senha1, $repete1, $TipoConta1);
$obj->validarEmail($email1);
$obj->validarSenha($senha1, $repete1);
$serial = serialize($obj);
file_put_contents("arquivo", $serial);
header("Location: html/cadastro.html");
?>
/*Página alterar.php recebe os dados do campo de login */
<?php
include 'class/Usuario.php';
$login3 = $_POST['login1'];
$senha3 = $_POST['senha'];
$obj2 = new Usuario();
$obj2->validarLogin($login3, $senha3);
?>
/*Classe Usuario.php não consegui criar nada que desse certo*/
class Usuario extends Pessoa {
public function validarLogin($login2, $senha2) {
}
}