Jump to content

Recommended Posts

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

 

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

 

Alguém pode me ajudar??

cadastrar.php

<!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_usuarios_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}'>
						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>

Share this post


Link to post
Share on other sites

Tente substituir este trecho

$sql_email_check = mysqli_query($conexao,"SELECT COUNT(id) FROM usuarios WHERE email='{$email}'");
			$sql_usuarios_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));

Por este

$sql_email_check = "SELECT COUNT(id) FROM usuarios WHERE email='{$email}'";
			$sql_usuarios_check = "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));
  • +1 1

Share this post


Link to post
Share on other sites

Alterei e agora dá esse erro:

 

Fatal error: Cannot use object of type mysqli_result as array in E:\xampp\htdocs\cadastro\cadastrar.php on line 48

Share this post


Link to post
Share on other sites

config.php

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>Conexão</title>
	</head>
	<body>
		<?php
		
		$host = "localhost";
		$user = "root";
		$senha = "";
		$banco = "cadastro";
		
		$conexao = mysqli_connect($host,$user,$senha,$banco);
		
		if (mysqli_connect_errno($conexao)) {
			echo "Erro: ".mysqli_connect_errno();
		}
		?>
	</body>
</html>

esse é o código que faz a conexão com o banco de dados.

Share this post


Link to post
Share on other sites

Fiz essa alteração:

$sql_email_check = "SELECT COUNT(id) FROM usuarios WHERE email='{$email}'";
$sql_usuarios_check = "SELECT COUNT(id) FROM usuarios WHERE usuarios='{$usuarios}'";           
           
$eReg=mysqli_fetch_array($conexao,$sql_email_check);
$uReg=mysqli_fetch_array($conexao,$sql_usuarios_check);

E deu esse erro:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, object given in E:\xampp\htdocs\cadastro\cadastrar.php on line 45

Warning:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, object given in E:\xampp\htdocs\cadastro\cadastrar.php on line 46

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

  • Similar Content

    • By Pellegrini3834
      Ola galera do IMasters!!!!!!
       
      Estou com uma duvida eu tenho um CRUD em php MVC e queria saber em que camada fica as mensagens depois de uma realização de um evento por exemplo:
      Cadastro de Pessoa, depois de cadastrada quero que ele emita uma mensagem dizendo que a "PESSOA FOI CADASTRADA COM SUCESSO!!!!" e eu queria saber  em que parte ela fica se é no Controle ou na View porque sabemos que no modelo fica a parte referente a manipulação de dados.
      Obrigado.
    • By Henrique Augusto Rohloff
      Olá! Sou iniciante e estou treinando para configurar uma página de buscas de produtos em um banco de dados.
      Os produtos já estão sendo encontrados quando a palavra bate com os itens do banco. A conexão com o banco de dados está funcionando corretamente. Porém, quando nada é encontrado, queria que aparecesse uma mensagem "Nenhum resultado, tente novamente." Já tentei com  else de tudo que é jeito mas não aparece corretamente... Qual é o jeito certo?
       
      Segue o código:
       
       
    • By maruoppolo
      Olá, tenho 2 tabelas:
       
      tb_dados: ID - MUSICA
       
      tb_votos: ID - VOTO - RADIO - MUSICA
       
      Preciso fazer uma query que traga as musicas da tb_dados porém ordenando pelo número de votos que ela teve na tb_votos.
       
      Então assim, existem 2 tipos de voto 1 = like e 2 = dislike, cada ver que um usuário vota eu pego qual radio que ele esta ouvindo e salvo no campo radio, o id da musica na tb_dados e salvo no campo musica da tb_votos e coloco o número 1 para like e 2 para dislike no campo voto.
       
      A query precisa contar quantos likes teve na tv_votos filtrando por radio e mostrando os resultados em ordem decrescente as musicas com mais likes.
       
      A ideia é trazer as 10 musicas com mais like de cada radio
       
      Alguma ideia de como fazer?? Estou enroscado nisso a dias.
    • By Ewfc2005
      Eu sou um programador amador, e ainda estou aprendendo programação, comecei um site, mas esqueci de faze-lo para ser responsivo, agora preciso de ajuda
      pois nao consigo deixa-lo responsivo
       

      Codigo HTML
       
      Codigo CSS

       
       
      Ele está mal feito, ainda tenho que arrumar muita coisa, se alguem conseguir me ajudar e dizer como ele pode ficar responsivo
      eu Agradeço.
    • By Chester1
      oi, eu to tentando mexer com servidores agora no PHP e esta dando um erro muito estranho que quando eu procuro em um programa que acha erros de sintaxe ele me diz que o erro esta no </HTML>    se alguem puder me dizer qual foi o erro que eu cometi eu agradeceria
       

       
      <HTML> <HEAD><TITLE>incluindo no banco de dados</TITLE></HEAD> <body> <BODY bgcolor="#d0d0d0"> <center> <h3>Lanchonete coma bem (voltada para o internauta)</h3> <h1>24horas</h1> <?php $login_digitado=$_POST['login']; $senha=$_POST['senha']; $nome=$_POST['nome']; $email=$_POST['email']; $telefone=$_POST['telefone']; $celular=$_POST['celular']; $endereco=$_POST['endereco']; $complemento=$_POST['complemento']; if ($login_digitado == "" || $senha == "" || $nome =="" || $email == "" || $telefone == "" || $endereco == "" || $complemento == "") { echo "existem(m) campos(s) de preenchimento obrigatorio em branco,<BR> infelizmente tera que voltar para preenche-lo(s)."; echo "<BR><a href=\"cadastro.php\">clique aqui para tentar novamente</a>"; } else { { $link=mysql_connect("localhost", "root", "") or die ("<h1>nao foi possivel conectar !!!</h1> ".mysql_error());  
      obs :estou trabalhando com formularios e servidores
         
         
         
         
      ?>
      </BODY>
      </HTML>
×

Important Information

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