Jump to content


Photo

Problema Com Sistema De Login


  • Faça o login para participar
4 replies to this topic

#1 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 16/02/2009, 16:46

Boa tarde galera!
Estou com um pequeno problema para fazer o script de login para a area de administração do meu site...
Ele é composto por essas paginas:

index.php
<form action="login.php" name="cadastro" method="post">
Nome: <input type="text" name="nome"><br>
Senha: <input type="text" name="senha"><br>
<input type="submit" value="enviar">

login.php
<?
include ("../Config.php");
$nome = $_POST['nome'];
$senha = $_POST['senha'];
//faz a confirmação de nome e senha no db
$logar = @mysql_query("SELECT * FROM admin WHERE Usuario='$nome' AND Senha='$senha'") or die("erro ao selecionar");
if (strlen($senha)< 1) {
echo '<p align="center">Senha ou apelido não conferem<BR><a href="java script:history.back(1);">tente denovo</a></p>';
}elseif (mysql_num_rows($logar)>0 ){
setcookie('usuario',$nome, time()+3600*24*30);
setcookie('senha',$senha, time()+3600*24*30);
header("location:home.php");
} else {
echo '<p align="center">Senha ou apelido não conferem<BR><a href="java script:history.back(1);">tente denovo</a></p>';
}
?>

home.php
<?php
include ("../Config.php");
$_COOKIE['usuario'] = $user;
$_COOKIE['senha'] = $senha;
$logar = @mysql_query("SELECT * FROM admin WHERE Usuario='$user' AND Senha='$senha'") or die("erro ao selecionar");
if (strlen($senha)< 1)
echo '<p align="center">Sua sessão expirou <BR><a href="java script:history.back(1);">tente denovo</a></p>';
elseif (mysql_num_rows($logar)>0 ){
?>
<!---Site--->
<?php 
}else {
echo '<p align="center">Senha ou apelido não conferem<BR><a href="java script:history.back(1);">tente denovo</a></p>';
}
?>

Agora o problema:
Quando clico em "enviar", mesmo os dados estando certos, ele não conecta... o que pode estar havendo?
Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||

#2 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 16/02/2009, 18:04

$_COOKIE['usuario'] = $user;
$_COOKIE['senha'] = $senha;

Você deve inverter isso aí.

$user = $_COOKIE['usuario'];
$senha = $_COOKIE['senha'];


Usar cookies para sistema de login não é seguro não, porque o login e a senha ficam armazenados no computador do usuário. É melhor usar sessão pois esses dados ficam armazenados no servidor.
att,
Muller Dias
ex-administrador Fórum WMO

#3 anderson farias

anderson farias

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino
  • Localidade:Bahia
  • Interesses:Ajudar, trabalhar e viver...

Posted 17/02/2009, 15:46

No lugar dos cookies, trabalhe com sessões e no index no campo de senha modifique para type="password".

#4 Bábara

Bábara

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Feminino
  • Localidade:BH - MG

Posted 18/02/2009, 08:45

Faça assim:
$user = $_POST["usuario"];
$senha = $_POST["senha"];

Edição feita por: Bábara, 18/02/2009, 08:45.


#5 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 20/02/2009, 19:55

Mals a demora pessoal... fiquei um tempinho sem net .-.

Agora está funcionando perfeitamente =)
Por enquanto estou utilizando cookies pois são mais simples de trabalhar. Breve irei migrar para sessions.

Valeu (y)
Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq