Ir para conteúdo
Fórum Script Brasil
  • 0

Sou novato e não sei onde estou errando no código de senha randomica


Bruno Lobo

Pergunta

Pessoal boa tarde,

Sou novato em PHP e já peguei um grande desafio aqui no grupo que trabalho !

Peguei um projeto e estou batendo cabeça e não sei onde está o erro:

Está aparecendo a seguinte mensagem:

Column count doesn't match value count at row 1

minha tabela de usuário tem os seguintes colunas:

ID_User

Nome

email

usuario

senha

ativado

dt_cadastro

abaixo irei postar o código para alguém de vocês me ajudar:


<?php

include "config.php";

$nome = trim($_POST['nome']);
$email = trim($_POST['email']);
$usuario = trim($_POST['login']);

/* Vamos checar algum erro nos campos, mas tenha em mente que existem formas bem mais eficientes de tratar os dados que são enviados ou n&atilde;o pelos campos do formulário */

if((!$nome) && (!$email) & (!$usuario)){

echo "ERRO: Voc&ecirc; n&atilde;o enviou as seguintes informaç&otilde;es requeridas para o cadastro! <br /> <br />";

if(!$nome){

echo "Nome &eacute; um campo requerido. <br />";

}


if(!$email){

echo "Email &eacute; um campo requerido.<br />";

}

if(!$usuario){

echo "Login de Usu&aacute;rio &eacute; um campo requerido. <br />";

}


echo "<br />Preencha os campos necess&aacute;rios abaixo: <br /><br />";

include "formulario_cadastro.php";

}
else{

/* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */

$sql_email_check = mysql_query("SELECT COUNT(usuario) FROM usuario WHERE email='{$email}'");
$sql_usuario_check = mysql_query("SELECT COUNT(usuario) FROM usuario WHERE usuario='{$usuario}'");



$eReg = mysql_fetch_array($sql_email_check);

$uReg = mysql_fetch_array($sql_usuario_check);



$email_check = $eReg[0];

$usuario_check = $uReg[0];



//$email_check = mysql_num_rows($sql_email_check);

//$usuario_check = mysql_num_rows($sql_usuario_check);



if(($email_check > 0) || ($usuario_check > 0)){



echo "<strong>ERRO </strong>- Por favor corrija os seguintes erros abaixo: <br /> <br />";



if($email_check > 0){



echo "Este email ( <strong>".$email."</strong> ) j&aacute; est&aacute; sendo utilizado.<br />Por favor utilize outra conta de email! <br />";



unset($email);



}



if($usuario_check > 0){



echo "Este nome de usu&aacute;rio ( <strong>".$usuario."</strong> ) j&aacute; est&aacute; sendo utilizado.<br />Por favor utilize outro nome de usu&aacute;rio!<br />";



unset($usuario);



}



print "<br />";

include "formulario_cadastro.php";



}

else{



/* Se passarmos por esta verificação ilesos é hora de finalmente cadastrar

os dados Vamos utilizar uma função para gerar uma senha randômica&nbsp;*/



function makeRandomPassword(){



$salt = "abchefghjkmnpqrstuvwxyz0123456789";

srand((double)microtime()*1000000);



$i = 0;



while($i <= 7){



$num = rand() % 33;

$tmp = substr($salt, $num, 1);

$pass = $pass . $tmp;

$i++;



}



return $pass;



}



$senha_randomica = makeRandomPassword();



$senha = md5($senha_randomica);





// Inserindo os dados no banco de dados



$info = htmlspecialchars($info);



$sql = mysql_query("INSERT INTO usuario (nome, email, login, senha, dt_cadastro)
VALUES('{$nome}','{$email}','{$usuario}','{$senha}','{$dt_cadastro}', now())")or die( mysql_error());



if(!$sql){



echo "Ocorreu algum erro ao criar sua conta, por favor entre em contato com o Webmaster.";



}

else {



$usuario_id = mysql_insert_id();



// Enviar um email ao usu&aacute;rio 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: www.com-empregos.com - Webmaster<webmaster@com-empregos.com>";



$subject = "Confirmação de cadastro - com-empregos.com";

$mensagem = "Prezado <strong>$nome </strong>,



<br />



Obrigado pelo seu cadastro em nosso site,

<a href ='http://www.com-empregos.com'>www.com-empregos.com</a>!



<br /><br />



Para confirmar seu cadastro e ativar sua conta, podendo assim acessar áreas exclusivas,

por favor clique no link abaixo ou copie e cole o link na barra de endereço do seu navegador.



<br /><br />






<br /> <br />



Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo,

efetuando o login com os dados abaixo:



<br /> <br />



<strong>Login</strong>: {$usuario}



<br />



<strong>Senha</strong>: {$senha_randomica}



<br /><br />



Obrigado!<br /> <br />

ativa.php

<?php



include "config.php";



$usuario_id = $_REQUEST['id'];

$senha = $_REQUEST['code'];



$sql = mysql_query("UPDATE usuario SET ativado='1' WHERE usuario='{$usuario_id}' AND senha='{$senha}'")or die (mysql_error());



$sql_doublecheck = mysql_query("SELECT * FROM usuario WHERE usuario='{$usuario_id}' AND senha='{$senha}' AND ativado='1'")or die (mysql_error());

$doublecheck = mysql_num_rows($sql_doublecheck);



if($doublecheck == 0){



echo "<strong>Sua conta não pode ser ativada!</strong>";



}

elseif($doublecheck > 0){



echo "<strong>Seu cadastro foi ativado com sucesso!</strong><br />Voc&ecirc; pode fazer o login logo abaixo!<br /><br />";

include "login_user.html";



}



?>
[/codebox]

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Essa parte do código:

$sql = mysql_query("INSERT INTO usuario (nome, email, login, senha, dt_cadastro)
VALUES('{$nome}','{$email}','{$usuario}','{$senha}','{$dt_cadastro}', now())")or die( mysql_error());

Você especifica 5 colunas (nome, email, login, senha, dt_cadastro), mas depois informa 6 ítens ('{$nome}','{$email}','{$usuario}','{$senha}','{$dt_cadastro}', now())"), por isso o erro Column count doesn't match value count at row 1

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...