Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

cadastro de usuarios

Bom dia, agradeceria ajuda. Fiz um formulario de cadastro de usuario utilizando a api do PHP ( RFC for password hashing API). Ela funciona, eu consigo gerar o hash e as informações são enviadas ao perfilDAO, mas ao enviar ao Banco, não persiste e nem retorna erro. No BD o campo senha está com tipo VARCHAR e tamanho de 100 caracteres

var dump na query

string(167) "insert into perfil (nome, sobrenome, email, senha) values ('Teste', 'teste', 'teste@teste.com.br', '$2y$10$HZXdL0B4E0qpq7AXZ7N68.Das/zvjeEEi00jzd8Yl5tclPDn67vly')"

index.php

<form name="form1" action="php/adiciona-primeiroperfil.php" method="post">
    <div class="col-md-6">
      <h4>Ainda não tem uma conta? Registre-se! É Gratuíto</h4>


      <div class="form-group">
          <input name="nome"  class="form-control" type="text" placeholder="Primeiro Nome" >
        </div>

        <div class="form-group">
          <input name="sobrenome"  class="form-control" type="text" placeholder="Sobrenome" >
        </div>

        <div class="form-group">
          <input name="email" class="form-control" type="email"  placeholder="Seu Email" required>
        </div>

        <div class="form-group">
          <input name="senha"  class="form-control" type="password"  placeholder="Senha" required>
        </div>


        <div class="form-group">
          <input type="submit" onclick="return validar()" class="btn btn-success"  value="Registrar">
        </div>
      </form>

adiciona-primeiroperfil.php

<form name="form1" action="php/adiciona-primeiroperfil.php" method="post">
    <div class="col-md-6">
      <h4>Ainda não tem uma conta? Registre-se! É Gratuíto</h4>


      <div class="form-group">
          <input name="nome"  class="form-control" type="text" placeholder="Primeiro Nome" >
        </div>

        <div class="form-group">
          <input name="sobrenome"  class="form-control" type="text" placeholder="Sobrenome" >
        </div>

        <div class="form-group">
          <input name="email" class="form-control" type="email"  placeholder="Seu Email" required>
        </div>

        <div class="form-group">
          <input name="senha"  class="form-control" type="password"  placeholder="Senha" required>
        </div>


        <div class="form-group">
          <input type="submit" onclick="return validar()" class="btn btn-success"  value="Registrar">
        </div>
      </form>

primeiroperfil.php

<?php
class Primeiroperfil {
  public $id;
  public $nome;
  public $sobrenome;
  public $email;
  public $senha;


  function __construct() {
  }


public function getId()
{
return $this->id;
}
public function setId($id)
{
$this->id = $id;
}

public function getNome()
{
return $this->nome;
}
public function setNome($nome)
{
$this->nome = $nome;
}

public function getSobrenome()
{
return $this->sobrenome;
}
public function setSobrenome($sobrenome)
{
$this->sobrenome = $sobrenome;
}

public function getEmail()
{
return $this->email;
}
public function setEmail($email)
{
$this->email = $email;
}

public function getSenha()
{
return $this->senha;
}

public  function setSenha($senha)
{

      $senha_base = password_hash($senha, PASSWORD_DEFAULT);


  $this->senha = $senha_base;

}

}

perfilDAO

function inserePrimeiroperfil($perfil) {
    $query = "insert into perfil (nome, sobrenome, email, senha) values ('{$perfil->getNome()}',
    '{$perfil->getSobrenome()}', '{$perfil->getEmail()}', '{$perfil->getSenha()}')";

    //var_dump($query);exit;

     return mysqli_query($this->conexao, $query);


}
1 resposta
solução!

Pessoal resolvido, obrigado.

Problema estava na tabela Mysql.

Ele não estava aceitando o registro porque em uma das colunas no campo 'predefinido' estava como 'none'.

Alterei para null e resolveu o problema

abraços

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software