Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Cadastrar Usuario

Bom dia a todos, na aula colocamos o usuário direto no banco de dados, então estou tentando fazer um formulário de cadastro de usuário, até ai tudo certo. segue o código

<?php require_once("cabecalho.php"); ?>

<h2 class="text-center"> Cadastro de Usuario </h2>

<form action="add-usuario.php" method="post" class="form-group">

    <table class="table">
        <tr>
            <td>
                <label for=nomeUsuario>Nome</label>
            </td>
            <td>
                <input type="text" name="nomeUsuario" class="form-control">
            </td>
        </tr>
        <tr>
            <td>
                <label for="emailUsuario">E-mail</label>
            </td>
            <td>
                <input type="email" name="emailUsuario" class="form-control">
            </td>
        </tr>
        <tr>
            <td>
                <label for="senhaUsario">Senha</label>
            </td>
            <td>
                <input type="password" name="senhaUsuario" class="form-control">
            </td>
        </tr>
        <tr>
            <td><button class="btn btn-info form-control" role="button">Cadastrar</button></td>
        </tr>
    </table>
</form>




<?php require_once("cabecalho.php"); ?>

criei um arquivo chamado add-usuario onde peguei as informações enviadas pelo formulário, e mandei para minha função, segue o código do arquivo add-usuário

<?php
    require_once("conecta.php");
    require_once("banco-usuario.php");

$nomeUsuario = $_POST['nomeUsuario'];
$emailUsuario = $_POST['emailUsuario'];
$senhaUsuario = $_POST['senhaUsuario'];


    if(insereUsuario($nomeUsuario,$emailUsuario,$senhaUsuario,$conexao)){
 ?>
         <h1>cliente cadastrado com sucesso</h1>
     <?php
    }else{
        $mensagem = mysqli_error($conexao);   
        ?>
        <h1>não foi possivel fazer o cadastro do cliente</h1>
<?php
    }
?>

<?php require_once("rodape.php");?>

na minha função de inserir o usuario no meu entendimento esta coreta, segue abaixo

<?php require_once("conecta.php"); 


function insereUsuario($conexao,$nomeUsario,$email,$senha){
    $senhaMd5 = md5($senha);
    $query ="insert into usuario (nome,email,senha) values ('{$nomeUsuario}','{$email}', '{$senhaMd5}')";
    mysqli_query($conexao,$query);
}
?>

porem ao tentar cadastrar um usuário no banco recebo o seguinte erro

Catchable fatal error: Object of class mysqli could not be converted to string in /opt/lampp/htdocs/workspace/cliente oculto/banco-usuario.php on line 5

alguma ideia de como resolver isso ou do porque isso esta acontecendo?

desde já obrigado, desculpe pelo post enorme.

2 respostas
solução!

Oi Wilker, beleza? Olha, na sua função de adicionar usuário, seu primeiro paramêtro é a conexão, mas na hora que você tenta executar, você está passando a conexão por último:

insereUsuario($nomeUsuario,$emailUsuario,$senhaUsuario,$conexao)

Passe as informações na mesma ordem que está definido na função, a conexão vem primeiro, depois, nome, email e senha.

Wanderson, muito obrigado pela ajuda