Jump to content
Sign in to follow this  
limalima

criar login em php.

Recommended Posts

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) {

 

 

 

}

}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Vibraphera
      Oi gente eu recentemente comecei a aprender php e fui atras de desafios legais e me deparei com um que até hoje não consigo resolver.
      Preciso mostrar a maior e a menor palavra de uma frase ou texto. Eu tentei transformar em um array mas não sei se seria o adequado.
      Resumindo apenas me retorna corretamente a maior palavra mas a menor não me retorna nada. ALGUÉM ME DA UM HELP kk
      OBS: quando não tem ponto final parece que não retorna nada e quando tem ponto final ele retorna o 'ou' da frase mas não deveria retornar a letra 'é' ou a letra 'a'?
       
      <?php
      $texto = 'Como faço para saber qual é a menor e a maior de uma frase ou grandes textos';
      $arr = explode(" ", $texto);
      $maior="";
      $menor="";
      for ($i=0; $i <count($arr) ; $i++) { 
          $atual = $arr[$i];
          if (strlen($atual) > strlen($maior)) {
              $maior = $atual;
          } else if (strlen($atual) < strlen($maior)) {
              $menor = $atual;
          }
      }
      echo "<br>";
      echo $maior;
      echo "<br>";
      echo $menor;
    • By danteblatt
      Olá Srs,
      Não tenho muito conhecimento em PHP e estou com um formulário onde o usuário tem alguns campos para preencher e gravar no banco de dados SQL, sendo que um campo deste form será dinâmico onde o usuário poderá adicionar quantos campos forem necessários a partir de um botão "+".
      Nome do campo dinâmico: chavenf
      Segue abaixo o código do formulário:
      <form method="POST" action="../includes/mf-processa.php"> <div class="form-group"> <div class="form-row"> <div class="form-group col-md-4"> <input type="hidden" name="usuario[]" value="<?php echo $_SESSION['usuarioNome']; ?>" /> <select class="form-control" id="tipo" name="tipo[]"> <option selected>Tipo</option> <option>1</option> <option>2</option> </select> </div> <div class="form-group col-md-4"> <select class="form-control" id="prioridade" name="prioridade[]"> <option selected>Prioridade</option> <option>Alta</option> <option>Padrão</option> </select> </div> <div class="form-group col-md-4"> <input class="form-control" type="text" name="fornecedor[]" placeholder="Fornecedor" id="fornecedor"> </div> </div> <div style="display:none;" class="form-row" id="chavecte"> <div class="form-group col-md-12"> <label>Chave </label> <input class="form-control" type="text" name="chavecte[]"> </div> </div> <div class="form-row" id="row-nota"> <div class="form-group col-md-12"> <label>Chave da NF </label> <input class="form-control" type="text" name="chavenf[]" id="chavenf"> </div> </div> <div style="display:none;" class="form-row" id="add-field-nf"> <div class="form-group col-md-2"> <button type="button" class="btn btn-primary" id="add"> + </button> </div> </div> <div class="form-row"> <div class="form-group col-md-2"> <input type="submit" class="btn btn-primary" value="Cadastrar"> </div> </div> </div> </form> <script> $( "#add" ).click(function() { $( "#row-nota" ).append('<div class="form-group col-md-12"><input class="form-control" type="text" name="chavenf[]" id="chavenf"></div>'); }); </script> Abaixo o arquivo que conecta e insere no BD, "mf-processa.php"
      <?php session_start(); include_once("conexao.php"); $prioridade = filter_input(INPUT_POST, 'prioridade', FILTER_SANITIZE_STRING); $usuarioentrada = filter_input(INPUT_POST, 'usuario', FILTER_SANITIZE_STRING); $tipofrete = filter_input(INPUT_POST, 'tipofrete', FILTER_SANITIZE_STRING); $fornecedor = filter_input(INPUT_POST, 'fornecedor', FILTER_SANITIZE_STRING); $chavenf = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavenf', FILTER_SANITIZE_STRING)); $chavecte = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavecte', FILTER_SANITIZE_STRING)); $nNF = substr($chavenf, 25, 9); $timenow = date('d-m-Y'); $timenow .= ' '.date('H:i:s'); $qtnotas = count($chavenf)-1; for ($f = 0; $f <= $qtnotas; $f++) { $sql = "INSERT INTO base (data, usuarioentrada, prioridade, tipofrete, nf, fornecedor, chavenf, chavecte, acao, dataretorno, usuariofiscal) VALUES ( '.$timenow[$f].', '.$usuarioentrada[$f].', '.$prioridade[$f].', '.$tipofrete[$f].', '.$nNF[$f].', '.$fornecedor[$f].', '.$chavenf[$f].', '.$chavecte[$f].', '', '', '' )" or die ("<center>Erro: " . mysqli_error() . "</center>"); $insert = mysqli_query($conn, $sql); if(mysqli_insert_id($conn)){ $_SESSION['msgrec'] = "<p style='color:green;'>Nota cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }else{ $_SESSION['msgrec'] = "<p style='color:red;'>Nota não cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }  
       
      Veja o erro retornado na página.. Já tentei alterar o código e mesmo assim não consegui efetuar a inserção dos dados no BD.
       
      ( ! ) Warning: count(): Parameter must be an array or an object that implements Countable in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 31 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 41 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 42 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0
    • By lordstarlight
      Olá, 
       
      Como posso bloquear todos ips, menos o meu para acesso ao meu site?
      preciso fazer isto para poder fazer manutenção.
       
      obrigado!
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
    • By groudon900
      Estou cursando aula pra aprender php e eu estava montando uma pagina de login, está tudo certo, mas não consegue conectar de jeito nenhum vou mandar o código pra vocês darem uma olhada
      banco de dados "aula"
      tabela "usuarios"
       
      contem, usuarios, senha, email e ID
       
       
      <?php require_once"config.php" ?> <?php if ( isset($_POST["usuario"])) { $usuario = $_POST["usuario"]; $senha = $_POST["senha"]; $login = "SELECT * "; $login .= "FROM usuarios "; $login .= "WHERE usuario = '{$usuario}' and senha = '{$senha}' "; $acesso = mysqli_query($conecta, $login); if ( !$acesso) { die("Falha na consulta ao banco!"); } $informacao = mysqli_fetch_assoc($acesso); if ( empty($infomacao)) { $mensagem = "login sem sucesso"; } else { header("location:listagem.php"); } } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.