Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Augusto

[Resolvido] Sistema de login

Recommended Posts

Fala galera...

to com um problema aqui que não to conseguindo enxergar o erro....

eu to fazendo um sistema de login e senha e tá dando o erro

 

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in enviar_cadastro.php on line

17

 

e o script é esse...

 

<HTML>
<HEAD>
 <TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?
$host  = "loaclhost"; //endereço do seu servidor MySQL
$database = "usuarios"; //o database que conterá sua tabela, muitas vezes seu próprio lo
53d
gin
$tabela  = "tbl_usuarios"; //o nome de sua tabela
$login_db = "root"; //login usado no MySQL
$senha_db = "123"; //senha usado no MySQL

$db   = mysql_connect ($host, $login_db, $senha_db); //conectamos ao mysql
$basedados = mysql_select_db($database); //selecionamos o database escolhido

$pesquisar = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login'", $db); //conferimos se o login escolhido já não foi cadastrado
$contagem = mysql_num_rows($pesquisar); //traz o resultado da consulta acima

if ( $contagem == 1 ) {
  $errors .= "Login escolhido já cadastrado."; //se o login já existir, ele adiciona o erro
  }

if ( $login == "" ) {
  $errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
  }

if ( $senha == "" ) {
  $errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
  }

if ( $senha != $senha2 ) {
  $errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
  }

if ( $errors == "" ) { //checa se houve ou não erros no cadastro

  $cadastrar = mysql_query
4d9
("INSERT INTO `$tabela` (nome, login, senha, email)
    VALUES ('$nome','$login','$senha','$email')", $db); //insere os campos na tabela

    if ( $cadastrar == 1 ) {
      echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Cadastro com sucesso.</font></div>"; //se cadastrou com sucesso o usuário aparece essa mensagem
      } else {
     echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu um erro no servidor ao tentar se cadastrar.</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem
  }
  } else {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se cadastrar:$errors</font></div>"; //mostra os erros do usuário, caso houver
}
?>

</BODY></HTML>

Se alguém puder me ajudar....

vlw....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua variável $login no Select está vazia.

 

$login_db = "root"; //login usado no MySQL

Acho que você trocou neh. Eh pra ser $login_db e no $login.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua variável $login no Select está vazia.

 

$login_db = "root"; //login usado no MySQL

Acho que você trocou neh. Eh pra ser $login_db e no $login.

 

Cara não entendi....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu to colocando assim agora

 

<?

// Conexão com o banco de dados
$db = @mysql_connect("localhost","root","123") or die("Não foi possível a conexão com o Banco");
// Selecionando banco
$basedados = @mysql_select_db('usuarios',$db) or die("Não foi possível selecionar o Banco");

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

$pesquisar = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login'", $db) or die ( mysql_error() ); //conferimos se o login escolhido já não foi cadastrado
$contagem = mysql_num_rows($pesuisar); //traz o resultado da consulta acima

if ( $contagem == 1 ) {
  $errors .= "Login escolhido já cadastrado."; //se o login já existir, ele adiciona o erro
  }

if ( $login == "" ) {
  $errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
  }

if ( $senha == "" ) {
  $errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
  }

if ( $senha != $senha2 ) {
  $errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
  }

if ( $errors == "" ) { //checa se houve ou não erros no cadastro

  $cadastrar = mysql_query("INSERT INTO `$tabela` (nome, login, senha, email)
    VALUES ('$nome','$login','$senha','$email')", $db); //insere os campos na tabela

    if ( $cadastrar == 1 ) {
      echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Cadastro com sucesso.</font></div>"; //se cadastrou com sucesso o usuário aparece essa mensagem
      } else {
     echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu um erro no servidor ao tentar se cadastrar.</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem
  }
  } else {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se cadastrar:$errors</font></div>"; //mostra os erros do usuário, caso houver
}
?>

 

Só que dá Incorrect table name '', porém o nome da tabela tá certo, eu to pegando os valores vindo de outra página na parte do _post....

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro erro você corrigiu.

O segundo é que no seu select tem uma variável => $tabela.

Mas qual o valor dela ?

 

Onde você declarou um valor para ela ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro erro você corrigiu.

O segundo é que no seu select tem uma variável => $tabela.

Mas qual o valor dela ?

 

Onde você declarou um valor para ela ?

 

É verdade, mais agora tá dando outro erro, vê ai se eu coloquei certo?

 

<?

// Conexão com o banco de dados
$db = @mysql_connect("localhost","root","123") or die("Não foi possível a conexão com o Banco");
// Selecionando banco
$basedados = @mysql_select_db("usuarios",$db) or die("Não foi possível selecionar o Banco");

$nome = trim($_POST ['nome']);
$login = trim($_POST ['login']);
$email = trim($_POST ['email']);
$senha = trim($_POST ['senha']);
$senha2 = trim($_POST ['senha2']);
$tabela = trim('usuarios',$basedados);

$pesquisar = mysql_query("SELECT * FROM '$tabela' WHERE login = '$login'", $db) or die ( mysql_error() ); //conferimos se o login escolhido já não foi cadastrado
$contagem = mysql_num_rows($pesuisar) or die ( mysql_error() ) ; //traz o resultado da consulta acima

if ( $contagem == 1 ) {
  $errors .= "Login escolhido já cadastrado."; //se o login já existir, ele adiciona o erro
  }

if ( $login == "" ) {
  $errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
  }

if ( $senha == "" ) {
  $errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
  }

if ( $senha != $senha2 ) {
  $errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
  }

if ( $errors == "" ) { //checa se houve ou não erros no cadastro

  $cadastrar = mysql_query("INSERT INTO '$tabela' (nome, login, senha, email)
    VALUES ('$nome','$login','$senha','$email')", $db); //insere os campos na tabela

    if ( $cadastrar == 1 ) {
      echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Cadastro com sucesso.</font></div>"; //se cadastrou com sucesso o usuário aparece essa mensagem
      } else {
     echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu um erro no servidor ao tentar se cadastrar.</font></div>"; //caso houver um erro quanto as configurações aparece essa mensagem
  }
  } else {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se cadastrar:$errors</font></div>"; //mostra os erros do usuário, caso houver
}
?>

tá dando o erro

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''usuarios' WHERE login = ''' at line 1....

tem alguma idéia do que pode estar errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow cara foi mal eu já to tão bolado que exqueci disso, mais já tinha concertado, o que tá dando erro agora foi no

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in line 20

 

<?

// Conexão com o banco de dados
$db = @mysql_connect("localhost","root","123") or die("Não foi possível a conexão com o Banco");
// Selecionando banco
$basedados = @mysql_select_db("usuarios",$db) or die("Não foi possível selecionar o Banco");

$nome = trim($_POST ['nome']);

53d
36;login = trim($_POST ['login']);
$email = trim($_POST ['email']);
$senha = trim($_POST ['senha']);
$senha2 = trim($_POST ['senha2']);

$pesquisar = mysql_query("select * from usuarios where login = '$login' ", $db) or die ( mysql_error() ); //conferimos se o login escolhido já não foi cadastrado
$contagem = mysql_num_rows($pesuisar) or exit ( mysql_error() ) ; //traz o resultado da consulta acima

if ( $contagem == 1 ) {
  $errors .= "Login escolhido já cadastrado."; //se o login já existir, ele adiciona o erro
  }

if ( $login == "" ) {
  $errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
  }

if ( $senha == "" ) {
  $errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
  }

if ( $senha != $senha2 ) {
  $errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
  }

if ( $errors == "" ) { //checa se houve ou não erros no cadastro

  $cadastrar = mysql_query("INSERT INTO usuarios (nome, login, senha, email)
    VALUES ('$nome','$login','
4ce
036;senha','$email')", $db); //insere os campos na tabela

    if ( $cadastrar == 1 ) {
      echo '<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Cadastro com sucesso.</font></div>'; //se cadastrou com sucesso o usuário aparece essa mensagem
      } else {
     echo '<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu um erro no servidor ao tentar se cadastrar.</font></div>'; //caso houver um erro quanto as configurações aparece essa mensagem
  }
  } else {
    echo '<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se cadastrar:$errors</font></div>'; //mostra os erros do usuário, caso houver
}
?>

Contudo se na linha ficar assim

$contagem = @mysql_num_rows($pesuisar) or exit ( mysql_error() ) ;
ele não apresenta erro nenhum mais tb não insere no banco.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que sao esses numeros no meio do seu código ?

 

53d

36

 

O seu erro é básico. Ortografia. Tome cuidado.

$pesquisar = mysql_query("select * from usuarios where login = '$login' ", $db) or die ( mysql_error() ); //conferimos se o login escolhido já não foi cadastrado
$contagem = mysql_num_rows($pesuisar) or exit ( mysql_error() ) ; //traz o resultado da consulta acima

A primeira variável que recebe a execução da string chama $pesquisar e na variável $contagem que você pega o total de linhas você usa dentro da função mysql_num_rows a variável $pesuisar.

 

 

:o

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver essa parte....

vlw...

mais eu tenho outras etapas aki se eu não conseguir peço um help aqui novamente.. vlw...

<?

// Conexão com o banco de dados
$db = @mysql_connect("localhost","root","123") or die("Não foi possível a conexão com o Banco");
// Selecionando banco
$basedados = @mysql_select_db("usuarios",$db) or die("Não foi possível selecionar o Banco");

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

$sql = mysql_query("SELECT * FROM usuarios WHERE login = '$login'");
if(mysql_num_rows($sql)>=1){
echo "Este usuário já está cadastrado!";}


if ( $login == "" ) {
  $errors .= "Você não digitou um login"; //confere se o campo login não ficou vazio
  }

if ( $senha == "" ) {
  $errors .= "Você não digitou uma senha"; //confere se o campo senha não ficou vazio
  }

if ( $senha != $senha2 ) {
  $errors .= "Você digitou 2 senhas diferentes."; //adiciona o erro caso o usuário digitou 2 senhas diferentes
  }

if ( $errors == "" ) { //checa se houve ou não erros no cadastro

  $cadastrar = mysql_query("INSERT INTO usuarios (nome, login, senha, email)
    VALUES ('$nome','$login','$senha','$email')", $db); //insere os campos na tabela

    if ( $cadastrar == 1 ) {
      echo '<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Cadastro com sucesso.</font></div>'; //se cadastrou com sucesso o usuário aparece essa mensagem
      } else {
     echo '<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu um erro no servidor ao tentar se cadastrar.</font></div>'; //caso houver um erro quanto as configurações aparece essa mensagem
  }
  } else {
    echo '<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se cadastrar:$errors</font></div>'; //mostra os erros do usuário, caso houver
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara to com outro problema aqui, eu não to conseguindo filtrar se tem alguém gravado no banco com mesmo nome ou login e se a senha nome e login foram preenchidos....

Tem como eu fazer isso nesse script?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso que você está fazendo aqui:

 

$sql = mysql_query("SELECT * FROM usuarios WHERE login = '$login'");
if(mysql_num_rows($sql)>=1){
echo "Este usuário já está cadastrado!";
die();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai cara bleza?

agora to com problemas na parte de recuperar a senha....

ele tá colocando um ponto no final do e-mail e eu não sei da onde ele vem, no banco tá cadastrado sem, ai na hora de enviar ele tá enviando com o ponto no final e não recebo o e-mail com a senha.....

o code segue abaixo:

 

<?
// Conexão com o banco de dados
$db = @mysql_connect("localhost","root","123") or die("Não foi possível a conexão com o Banco");
// Selecionando banco
$basedados = @
53d
mysql_select_db("usuarios",$db) or die("Não foi possível selecionar o Banco");

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

$confirmacao = mysql_query("SELECT * FROM usuarios WHERE login = '$login' AND email = '$email'"); //verifica se o login e a email conferem
  while ($row = mysql_fetch_array($confirmacao)) {
    $login = $row["login"]; //adiciona a variavel $login o login do usuario
$senha = $row["senha"]; //adiciona a variavel $senha a senha do usuario
    $email = $row["email"]; //adiciona a variavel $email o email do usuario
}

$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima

if ( $contagem == 1 ) {
  $msg  = "Recuperação de senha" . chr(13) . chr(10);
  $msg .= "Senha enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10);
  $msg .= "Login : " . $login . chr(13) . chr(
4a9
10);
  $msg .= "Email : " . $email . chr(13) . chr(10);
  $msg .= "Senha : " . $senha . chr(13) . chr(10);

  $Remetente = "empresa@empresa.com.br"; //remetente do email, coloque o email do seu site

  mail($email, "Recuperação de Senha",$msg,"From: $Remetente"); //campos do email na ordem, email destinho (não deve ser alterada), assunto, conteudo (não deve ser alterado), remetente (também não altere)

  echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Sua senha foi enviada com sucesso para o email: $email.</font></div>"; //resposta se o email foi enviado com sucesso
  } else {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Seu login ou email está incorreto.</font></div>"; //resposta se não foi possivel enviar o email
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro João Augusto.

 

Para uma melhor participação, sugiro que leia o tópico de orientações para uma boa participação, evitando postar mais de uma dúvida por tópico.

 

O erro continua sendo o mesmo de sempre. Adicione or die(mysql_error()) ao final das consultas que o erro real será apresentado.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

sera que alguem poderia me ajudar sou novato aki e estou com problema na linha 12 o problema esta no .000
do mysql_connect ($mysql3.000webhost.com

Parse error: syntax error, unexpected T_DNUMBER in /home/a1976534/public_html/enviar_cadastro.php on line 12



<html>
<head>
<title>Enviar Cadastro</title>
</head>

<body>

<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<?
include "config.php";

$db = mysql_connect ($mysql3.000webhost.com, $a1976534_thi, $site6326) or die ('I cannot connect to the database because: ' . mysql_error());

mysql_select_db ($a1976534_sistema);

$pesquisar = mysql_query("SELECT * FROM tbl_membros WHERE login = '".$login."'");
$contagem = mysql_num_rows($pesquisar);

if ( $contagem == 1 )
{
$errors .= "- O nome de usuario que você escolheu já está cadastrado.<br>";
}

if ( $senha != $senha2 )
{
$errors .= "- As duas senhas não correspondem.<br>";
}

if ( $errors == "" )
{

$cadastrar = mysql_query("INSERT INTO $tbl_membros (nome, nascimento, sexo, tel, cel, email, endereco, bairro, cep, cidade, estado, login, senha)
VALUES ('$nome','$nascimento','$sexo','$tel','$cel','$ema il','$endereco','$bairro','$cep','$cidade','$estad o','$login','$senha')");

if ( $cadastrar == 1 )
{
echo "<font size=1 face=Verdana, Arial, Helvetica, sans-serif><br><br>Olá, $nome !<br><br>Agora você ja pode acessar a área VIP com o seu nome de usuario( $login ) e com sua senha.<br><br>A equipe do (Seu site) agradece e espera poder ajudar sempre que preciso.</font></div>";
}
else
{
echo "Ocorreu um erro no servidor ao tentar se cadastrar.";
}
}
else
{
echo "Ocorrram os seguintes erros ao tentar se cadastrar:<br><br>";
echo $errors;
}
?>
</font></div>
</body>
</html>[tr]

 

 

 



Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.