Ir para conteúdo

POWERED BY:

Arquivado

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

Diego Coutinho

crypt

Recommended Posts

Estou com um problema com crypt pois o codigo não mostra nenhum erro quando tento fazer o login mais ele não loga

 

Segue a baixo o codigo

 

cadastra o usuario

 

<?php
include"conexao.php";
$nome = $_POST["nome"];
$senha = crypt($_POST['senha']);
$cadastra = mysql_query("INSERT INTO usuarioadm (nome,senha) values('$nome','$senha')");
?>

funçao Logar

<?php
$nome = $_POST["nome"];
$senhacri = crypt($_POST['senha']);

$sql = mysql_query("SELECT * FROM usuarioadm WHERE nome='$nome' and senha = encrypt('$senhacri') ");
$row = mysql_num_rows($sql);
if($row > 0){
session_start();

$_SESSION['nome']=$_POST['nome'];
$_SESSION['senha']=$_POST['senha'];

echo"voce foi logado";


}else{
echo"você nao foi logado";

}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já criptografa a senha aqui:

 

$senhacri = crypt($_POST['senha']);

 

Ou seja, não deve criptografá-la de novo aqui no SELECT. Do jeito que está agora, você tem a criptografia da senha criptografada. Tem que criptografar só uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na ora de fazer o login não reconhece, já vai para o usuario não logado (a senha esta digitada certa)

cadastra o usuario

 

função cadastra usuario

<?php
include"conexao.php";
$nome = $_POST["nome"];
$senha = crypt($_POST['senha']);
$cadastra = mysql_query("INSERT INTO usuarioadm (nome,senha) values('$nome','$senha')");
?>
função logar o usuario
<?php
$nome = $_POST["nome"];
$senhacri = crypt($_POST['senha']);

$sql = mysql_query("SELECT * FROM usuarioadm WHERE nome='$nome' and senha =('$senhacri') ");
$row = mysql_num_rows($sql);
if($row > 0){
session_start();

$_SESSION['nome']=$_POST['nome'];
$_SESSION['senha']=$_POST['senha'];

echo"voce voi logado";
echo"<script>loginsuccessfully()</script>";

}else{
echo"não logado";
echo"<script>loginfailes()</script>";
}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja como está o registro dentro do banco. Confirme se foi cadastrada a senha criptografada.

 

Troque o SELECT e use apenas o nome no WHERE. Isso vai retornar um registro. Em seguida, exiba o valor de $senhacri e a senha vinda do banco. Compare as duas strings para o que há de diferente nas duas

 

É possível que o campo senha no banco tenha um limite baixo de tamanho. Aí, ao cadastrar a senha, ela é salva truncada. Qual tamanho de campo você definiu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para debug, coloque:

var_dump($_POST);
e veja se o campo 'senha' está preenchido mesmo(você pode ter errado no name no html)

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.