Warning: mysqli_query() expects parameter 2 to be string, object given in E:\xampp\htdocs\cadastro\cadastrar.php on line 46

Alguem pode me ajudar?

<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Cadastrar</title> </head> <body> <?php
        include "config.php";

        $nome = isset( $_POST['nome'] ) ? $_POST['nome'] : 'valor_padrao';
        $sobrenome = isset( $_POST['sobrenome'] ) ? $_POST['sobrenome'] : 'valor_padrao';
        $email = isset( $_POST['email'] ) ? $_POST['email'] : 'valor_padrao';
        $usuarios = isset( $_POST['usuarios'] ) ? $_POST['usuarios'] : 'valor_padrao';
        $info = isset( $_POST['info'] ) ? $_POST['info'] : 'valor_padrao';

        // Vamos checar algum erro nos campos
        if ((!$nome) || (!$sobrenome) || (!$email) || (!$usuarios)){
            echo "ERRO: <br /><br />";

        if (!$nome){
            echo "Nome é requerido.<br />";
        }

        if (!$sobrenome){
            echo "Sobrenome é requerido.<br /> <br />";
        }

        if (!$email){
            echo "Email é um campo requerido.<br /><br />";
        }

        if (!$usuarios){
            echo "Nome de Usuário é requerido.<br /><br />";
        }

        echo "Preencha os campos abaixo: <br /><br />";

        include "formulario_cadastro.php";
        }else{
            // Vamos checar se o nome do usuario escolhido ja existem no banco de dados
            $sql_email_check = mysqli_query($conexao,"SELECT COUNT(id) FROM usuarios WHERE email='{$email}'");
            //$sql_usuario_check = mysqli_query($conexao,"SELECT COUNT(id) FROM usuarios WHERE usuarios='{$usuarios}'");

            $eReg = mysqli_query($conexao,$sql_email_check) or exit(mysqli_error($conexao));
            //$uReg = mysqli_query($conexao,$sql_usuarios_check) or exit( mysqli_error($conexao));

            $email_check = $eReg[0];
            //$usuarios_check = $uReg[0];

            if (($email_check > 0)){ //|| ($usuarios_check > 0)){
                echo "<strong>ERRO</strong>: <br /><br />";
                if ($email_check > 0){
                    echo "Este email já está sendo utilizado.<br /><br />";
                    unset($email);
                }

            //if ($usuarios_check > 0){
                //echo "Este nome de usuário já está sendo utilizado.<br /><br />";
                //unset($usuario);
            //}

            include "formulario_cadastro.php";
            }else{
                //Se passarmos por esta verificacção ilesos é hora de finalmente cadastrar os dados.

                //Vamos utilizar uma função para gerar a senha de forma randômica
                function gerarSenha($tamanho=9, $forca=0) {
                    $vogais = 'aeiouy';
                    $consoantes = 'bcdfghjklmnpqrstvwxz';
                    if ($forca >= 1) {
                        $consoantes .= 'BCDFGHJKLMNPQRSTVWXZ';
                    }
                    if ($forca >= 2) {
                        $vogais .= "AEIOUY";
                    }
                    if ($forca >= 4) {
                        $consoantes .= '123456789';
                    }
                    if ($forca >= 8 ) {
                        $vogais .= '@#$%';
                    }

                    $senha = "";
                    $alt = time() % 2;

                    for ($i = 0; $i < $tamanho; $i++) {
                        if ($alt == 1) {
                            $senha .= $consoantes[(rand() % strlen($consoantes))];
                            $alt = 0;
                        } else {
                            $senha .= $vogais[(rand() % strlen($vogais))];
                            $alt = 1;
                        }
                    }

                    return $senha;
                }

                $senha_randomica = gerarSenha();
                $senha = md5($senha_randomica);

                //Inserindo os dados no banco de dados
                $info = htmlspecialchars($info);
                $sql = mysqli_query($conexao,"INSERT INTO usuarios (nome,sobrenome,email,usuarios,senha,info,
                data_cadastro) VALUES ('$nome','$sobrenome','$email','$usuarios','$senha','$info',now())")
                or die( mysql_error());

                if (!$sql){
                    echo "Ocorreu um erro ao criar sua conta, entre em contato.";
                }else{
                    $id = mysqli_insert_id($conexao);

                    //Enviar um email ao usuario para confirmação e ativar o cadastro!
                    $headers = "MIME-Version: 1.0\n";
                    $headers .= "Content-type: text/html; charset=iso-8859-1\n";
                    $headers .= "From: Teu Domínio - Webmaster<email@teusite.com.br>";
                    $subject = "Confirmação de cadastro - teusite.com.br";

                    $mensagem = "Prezado {$nome} {$sobrenome},<br />
                        Obrigado pelo seu cadastro em nosso site, <a href='http://www.teusite.com.br'>
                        http://www.teusite.com.br</a>!<br /> <br />
                        Para confirmar seu cadastro e ativar sua conta em nosso site, podendo acessar à
                        áreas exclusivas, por favor clique no link abaixo ou copie e cole na barra de
                        endereço do seu navegador.<br /> <br /> <a href='http://www.teusite.com.br/ativar.php?id={$id}&code={$senha}'>
                        http://www.teusite.com.br/ativar.php?id={$id}&code={$senha}
                        </a> <br /> <br />
                        Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo
                        efetuado o login com os seguintes dados abaixo:<br > <br /> <strong>Usuario</strong>: {$usuarios}<br /> <strong>Senha</strong>: {$senha_randomica}<br /> <br />
                        Obrigado!<br /> <br /><br />
                        Esta é uma mensagem automática, por favor não responda!";
                        mail($email, $subject, $mensagem, $headers);
                        echo "Foi enviado para o email ".$email." um pedido de confirmação de cadastro,
                        por favor verifique e sigas as instruções!";
                }
            }
        }
        ?> <br /><br />Faça o seu login!<a href="formulario_login.html">Clique Aqui!</a> </body> </html> 

Recommended Answers

All 3 Replies

Line 35 return object and then you pass object in next query line 38

.

why did you tag this with Java?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.