Ir para conteúdo

POWERED BY:

Arquivado

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

John L.F.Silveira

Login Não Passa como Confirmado

Recommended Posts

Boa tarde.

Usuário e Login são sempre considerados inválidos, não consigo encontrar o erro.

 

 

Form de Login

 

<form name="login" method="post" enctype="text/plain" action="confirmalogin.php">

 <p>
   <label>Usuário:</label>
   <input type="text" id="login" name="login" maxlength="10" />
 </p>

 <p>
   <label>Senha:</label>
   <input type="password" id="senha" name="senha" maxlength="15" />
 </p>

 <input type="submit"  id="botaol" name="entrar" value="Entrar" />

</form>

 

confirmalogin.php

 


<?php

$login = isset($_POST["login"])  ? $_POST["login"] : "";
$senha = isset($_POST["senha"])  ? $_POST["senha"] : "";

include "config.php"; //inclui o arquivo de configurações do bd


$db   = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);

$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND senha = '$senha'", $db);
$contagem = mysql_num_rows($confirmacao);

if ( $contagem == 1 ) {
 setcookie ("login", $login);
 setcookie ("senha", $senha);
 echo "Usuário logado.";
 } else {
 echo "Usuario ou senha incorretos";
 }

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você usou assim?

$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND senha = '$senha'", $db) or die(mysql_error()); 

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você usou assim?

$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND senha = '$senha'", $db) or die(mysql_error()); 

 

At+

 

Sim... =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos lá;

 

Primeiro verifica se a conexão foi bem sucedida, coloque o "or die(mysql_error())" nela também;

Segundo, se a conexão estiver perfeita retire aquelas aspas da variável $tabela;

Terceiro, se o problema não for esse, retire a variável $db da query;

Quarto, dê um echo na variável $contagem;

Quinto, verifica se não tem criptografia de senha no banco de dados;

Sexto, verifica se os dados fornecidos estão corretos.

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos lá;

 

Primeiro verifica se a conexão foi bem sucedida, coloque o "or die(mysql_error())" nela também;

Segundo, se a conexão estiver perfeita retire aquelas aspas da variável $tabela;

Terceiro, se o problema não for esse, retire a variável $db da query;

Quarto, dê um echo na variável $contagem;

Quinto, verifica se não tem criptografia de senha no banco de dados;

Sexto, verifica se os dados fornecidos estão corretos.

 

At+

 

Primeiro, retorna vazio. OK;

Segundo, retirado, mysql_error()continua vazio. OK;

Terceiro, não muda nada. OK;

Quarto, Contagem volta 0, mas isso já sabíamos, pois caso voltasse 1 estaria certo.

Quinto, não tem.

Sexto, estão.

 

ARRRRRRG...deveria funcionar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos lá;

 

Primeiro verifica se a conexão foi bem sucedida, coloque o "or die(mysql_error())" nela também;

Segundo, se a conexão estiver perfeita retire aquelas aspas da variável $tabela;

Terceiro, se o problema não for esse, retire a variável $db da query;

Quarto, dê um echo na variável $contagem;

Quinto, verifica se não tem criptografia de senha no banco de dados;

Sexto, verifica se os dados fornecidos estão corretos.

 

At+

 

Primeiro, retorna vazio. OK;

Segundo, retirado, mysql_error()continua vazio. OK;

Terceiro, não muda nada. OK;

Quarto, Contagem volta 0, mas isso já sabíamos, pois caso voltasse 1 estaria certo.

Quinto, não tem.

Sexto, estão.

 

ARRRRRRG...deveria funcionar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já deu um echo em:

 

$login

$senha

 

?

 

At+

Fiz isso agora a pouco, as variaveis não estão recebendo os valores...só não consigo entender o porque.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:


if(isset($_POST['senha']) && !empty($_POST['senha'])) {
  $senha = $_POST['senha'];
} else {
  echo "Senha em branco";
}
.
.
.

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:


if(isset($_POST['senha']) && !empty($_POST['senha'])) {
  $senha = $_POST['senha'];
} else {
  echo "Senha em branco";
}
.
.
.

 

At+

caiu no else mesmo =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeira coisa que você deve fazer quando desconfiar que os dados não estão vindo corretamente, "debugar".

 

Primeiro passo é verificar se o POST está sendo enviado corretamente, com a função

print_r($_POST)

ou

var_dump();

 

com isso você terá uma lista de seu POST e, em forma de array será mostrada se os mesmos possuem valor.

 

verificar com a função

file_exists();

à existência do arquivo de configuração.

 

utilizar "SEMPRE" o

mysql_error()

para saber se o mysql está retornando erro.

 

são funções que não podem faltar em um script.

 

agora rode o script abaixo e poste aqui o resultado.

<?php
print '<pre>';
print_r($_POST);
print '</pre>';



$login = isset($_POST["login"])  ? $_POST["login"] : "";
$senha = isset($_POST["senha"])  ? $_POST["senha"] : "";

file_exists('config.php') ? include "config.php" : die('Falha ao incluir aruivo de configuração'); //veriicar a existência do arquivo.


$db   = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);

$confirmacao = mysql_query("SELECT * FROM `$tabela` WHERE login = '$login' AND senha = '$senha'")or die(mysql_error());

if (mysql_num_rows($confirmacao) == 1) {

 setcookie ("login", $login);
 setcookie ("senha", $senha);
 echo "Usuário logado.";

 } else {
 echo "Usuario ou senha incorretos";
 }

?>

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.