junaooaks 3 Denunciar post Postado Abril 3, 2007 ai galera do precisando de um help! com sistema de autenticação de usuario tenho o banco de dado "sisgem" tabela "login" id nome data_nasc email telefone login senha na minha autenticação ta assim <?php require_once("sisgem.php"); $login = $_POST[login]; $senha = $_POST[senha]; //verificar se os formularios foram preenchidos if (!filled_out($_POST)); { echo "Senha Incorreta"; } //consulta no banco de dado $sql = mysql_query("select login,senha from login where login = '$login' and senha = '$senha'")or die ('erro no comando'); $mysql= mysql_num_rows($sql); if($mysql == 0) { echo "Erro: Usuário ou Senha inválidos"; echo "<br>"; echo "<a href='login.php'>voltar</a>";} session_start(); $_SESSION[login] = $login; $_SESSION[senha] = $senha; // Header("Location: index.php");} ?> quando eu mando excutar aparece a frase: "erro no comando" alguem poderia da um help ai Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Abril 3, 2007 or die ('erro no comando' . mysql_error()) Teste novamente e poste a mensagem de erro retornada pelo MySQL. Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 3, 2007 Parse error: parse error in c:\windows\serv-n\www\sisgem\autenticacao.php on line 29 $mysql= mysql_num_rows($sql); Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 3, 2007 $mysql= mysql_num_rows($sql); ai galera eu ja to :wacko: maluco ja pesquisei nas web e nada http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Abril 3, 2007 Meu exemplo $sql = "SELECT cli_codigo, cli_nome FROM clientes WHERE email = '$email' AND senha = '$senha'"; $res = mysql_query ($sql) or die ("Problemas na execução: $sql <br>".mysql_error()); if ($res <> 0) #se executou o script direito { $total = mysql_num_rows($res); #pega o total de linhas }; if ($total == 1) #só pode encontrar um email pois ele é login e tem que ser único { $linha = mysql_fetch_array($res); $nome_cliente = $linha['cli_nome']; $codigo_cliente = $linha['cli_codigo']; $nivel_usuario = 'cliente'; $_SESSION['codigo'] = $linha['cli_codigo']; } Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 3, 2007 ai cara eu adapitei o processo para a minha pagina e nao deu serto da erro nao consulta "$sql" mas o seu processo nao se destancia da maneira que eu estava fazendo que ja e uma boa noticia pra mim galera eu ja to entrando em desispero http://forum.imasters.com.br/public/style_emoticons/default/no.gif hellllllllllllppppppppppp Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Abril 3, 2007 junaooaks, deixa o desespero de lado e posta a mensagem de erro do MySQL ;)Assim fica mais fácil pra te ajudar.[]sAnderson Mello Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 3, 2007 Parse error: parse error in c:\windows\serv-n\www\sisgem\autenticacao.php on line 29 $mysql= mysql_num_rows($sql); Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 3, 2007 <? //CONECTA COM O BANCO DE DADOS // require_once("sisgem.php"); //RECEBE OS DADOS DO FORMULÁRIO $usuario = $_POST[login]; $senha = $_POST[senha]; //CONSULTA NO BANCO DE DADOS MYSQL $sql = mysql_query(" SELECT ID, NOME FROM LOGIN WHERE LOGIN = '$login' AND SENHA = '$senha'") or die("ERRO NO COMANDO SQL " mysql_error()); // CONEXAO COM O BANCO DE DADOS E TABELA $conn = mysql_connect("localhost, root, 123")or die ("erro na conecxao"); $db = mysql_select_db("sisgem") or die ("nao ha banco de dado"); //LINHAS AFETADAS PELA CONSULTA $row = mysql_num_rows($sql); //VERIFICA SE RETORNOU ALGO if($row == 0) echo "Usuário/Senha inválidos"; else { //PEGA OS DADOS $id = mysql_result($sql, 0, "ID"); $nome = mysql_result($sql, 0, "NOME"); //INICIALIZA A SESSÃO session_start(); //GRAVA AS VARIÁVEIS NA SESSÃO $_SESSION[login] = $usuario; $_SESSION[senha] = $senha; //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS Header("Location: usuario.php"); } //FECHA ELSE ?> quando eu executo so aparece a palavra "erro" Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 3, 2007 ai galera apos muita luta estamos quase conseguindo e o seguinde: quando eu digito a "senha" erra la no login ele passa ex: a senha serta e "brasiljunao" e eu colocar "brasil" ele entra, se eu colocar a que esta registrada no banco de dado ele nao passa "brasiljunao" e outra quando ele puxa a pagina e uma totalmente diferente ex: Header("Location: usuario.php"); ele carrega a pagina "index.php" nao estou entendendo nada mas ja melhorou muito http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif olha o codigo da pagina "autenticação" quem puder colaborar com migo eu agradeço <? //CONECTA COM O BANCO DE DADOS require_once("sisgem.php"); //RECEBE OS DADOS DO FORMULÁRIO $login = $_POST["login"]; $senha = $_POST["senha"]; //CONSULTA NO BANCO DE DADOS $sql = mysql_query(" SELECT id, nome FROM login WHERE login == '$login' AND senha == '$senha'") or die(mysql_error()); //LINHAS AFETADAS PELA CONSULTA $row = mysql_num_rows('$sql'); //VERIFICA SE RETORNOU ALGO if($row == 0) echo "Usuário/Senha inválidos"; else { //PEGA OS DADOS $id = mysql_result($sql, 0, "ID"); $nome = mysql_result($sql, 0, "NOME"); //INICIALIZA A SESSÃO session_start(); //GRAVA AS VARIÁVEIS NA SESSÃO $_SESSION[login] = $login; $_SESSION[senha] = $senha; //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS Header("Location: usuario.php"); } //FECHA ELSE ?> Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 4, 2007 ai galera to precisando de umas dicas Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 4, 2007 ai galera depois de tanto mexer nos codigos e esquenta a cabeça, o codigo ainda continua dando errado ultima alteração na pagina "autentifacacao" <? //CONECTA COM O BANCO DE DADOS $mysql = mysql_connect("localhost","root","123"); $db = mysql_select_db("sisgem") or die ("nao ha banco de dado"); //RECEBE OS DADOS DO FORMULÁRIO $login = $_POST["login"]; $senha = $_POST["senha"]; //CONSULTA NO BANCO DE DADOS $sql = mysql_query(" SELECT id, nome FROM login WHERE login = '$login' AND senha = '$senha'") or die(mysql_error()); //LINHAS AFETADAS PELA CONSULTA $row = mysql_num_rows('$sql'); //VERIFICA SE RETORNOU ALGO if($row == 0) echo "Usuário/Senha inválidos"; else { //PEGA OS DADOS $id = mysql_result($sql, 0, "ID"); $nome = mysql_result($sql, 0, "NOME"); //INICIALIZA A SESSÃO session_start(); //GRAVA AS VARIÁVEIS NA SESSÃO $_SESSION[login] = $login; $_SESSION[senha] = $senha; //REDIRECIONA PARA A PÁGINA QUE VAI EXIBIR OS PRODUTOS Header("Location: usuario.php"); } //FECHA ELSE ?> erro esposto pelo mysql "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\windows\serv-n\www\sisgem\autenticacao.php on line 23 Usuário/Senha inválidos a linha 23 esta marcada de vermelho aquele que puder me ajuda ai eu agradeço http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Abril 4, 2007 Aparentemente, não está localizando o registro. Está usando MD5 na senha? Se sim, precisa usar na comparação da query também.Sugestão: compara o login forçando em minúsculas, com LOWER() do MySQL ou strtolower() do PHP.[]sAnderson Mello Compartilhar este post Link para o post Compartilhar em outros sites
crucifier 0 Denunciar post Postado Abril 4, 2007 outra coisa....cuidado com o sql injection... um código que eu sempre uso em algum include que vai em todas as páginas de um sistema, é: if (!get_magic_quotes_gpc()) { $_POST = array_map("addslashes",$_POST); $_GET = array_map("addslashes",$_GET);} ;) Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 4, 2007 eu nao estou usando MD5 é um sistema bem simplesnao compriendi a sua colocação ANDERSON MELLO "Sugestão: compara o login forçando em minúsculas, com LOWER() do MySQL ou strtolower() do PHP." Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Abril 4, 2007 Isso: $sql = mysql_query("SELECT id, nome FROM loginWHERE LOWER(login) = LOWER('$login')AND senha = '$senha'") or die(mysql_error()); Assim não importa se digitar Anderson Mello, anderson mello, aNdErSon mello etc. ;) Pra senhas, se não usa MD5, pode fazer o mesmo. Agora, sobre o problema, debuga o código. Verifica quais os dados (login e senha) que são passados pelo formulário e se estão de acordo com o banco. []s Anderson Mello Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 4, 2007 Isso:Agora, sobre o problema, debuga o código. Verifica quais os dados (login e senha) que são passados pelo formulário e se estão de acordo com o banco.[]sAnderson MelloAnderson o arquivos que esta na tabela do bando de dados e o mesmo que fica registra na "session" e a mesma da variavel "login" e "senha" eu ja rescrivi o codigo e nao consigo realizar a operaçãotem alguma linha de comando errado o Andersom, e desta maneira que vcs fazer usando "session"que eu ja nao sei o mais fazer ja li e reli codigos fontes pela intenet e de modo geral a base e a mesma Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 4, 2007 eu realizei o tutorial do Aguinelo Pedroso la no tutorial http://www.revistaphp.com.br/artigo.php?id=67 ele da o mesmo erro quero dizer na mesma $row = mysql_num_rows('$sql'); a linha de erro que aparece: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\windows\serv-n\www\autenticacao\auth.php on line 25 usuario ou senha invalida Compartilhar este post Link para o post Compartilhar em outros sites
crucifier 0 Denunciar post Postado Abril 10, 2007 é que o $sql está entre aspas simples...tira e testa: $row = mysql_num_rows($sql); Compartilhar este post Link para o post Compartilhar em outros sites
Pauloooo 0 Denunciar post Postado Abril 11, 2007 $row = mysql_num_rows($sql);após verificar o num_rows..cria um array para receber login os campos!!!entendeu??qualquer coisa posta aiiabraçoo Compartilhar este post Link para o post Compartilhar em outros sites