e tenho essa que verifica o login e senha se é valido ou não, se é valido ele passa para o arquivo _index2.php que é o painel do sistema, pelo que vejo essa página já cria a sessão também correto?
login_vai.php
<?php
// Conexão com o banco de dados
require("conecta.inc");
// Inicia sessões
session_start();
// Recupera o login
$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;
// Recupera a senha, a criptografando em MD5
$senha = isset($_POST["senha"]) ? md5(trim($_POST["senha"])) : FALSE;
// Usuário não forneceu a senha ou o login
if(!$login || !$senha)
{
echo "Você deve digitar sua senha e login!";
exit;
}
/**
* Executa a consulta no banco de dados.
* Caso o número de linhas retornadas seja 1 o login é válido,
* caso 0, inválido.
*/
mysql_select_db("inove",$conexao);
$consulta = "SELECT id, data, nome, login, senha, empresa, site FROM usuarios WHERE login = '" . $login . "'";
$resultado = mysql_query($consulta,$conexao) or die("Erro no banco de dados!");
$total = @mysql_num_rows($resultado);
// Caso o usuário tenha digitado um login válido o número de linhas será 1..
if($total)
{
// Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão
$dados = @mysql_fetch_array($resultado);
// Agora verifica a senha
if(strcmp($senha, $dados["senha"]) == 0)
{
// TUDO OK! Agora, passa os dados para a sessão e redireciona o usuário
$_SESSION["login"] = stripslashes($dados["login"]);
$_SESSION["senha"] = $dados["senha"];
$_SESSION["nivel"] = $dados["nivel"];
header("Location: ../_index2.php");
exit;
}
// Senha inválida
else
{
echo "Senha inválida!";
exit;
}
}
// Login inválido
else
{
echo "O login fornecido é inexistente!";
exit;
}
?>
Alterei o arquivo e agora o meu _verifica ficou da seguinte maneira abaixo, está verificando mas não está deixando eu logar só está apresentando a mensagem "Voçê não efetuou login!"
_verifica.php
<?php
session_start();
if (isset($_SESSION["login"]) AND isset($_SESSION["senha"])) {
$login = $_SESSION["login"];
$senha = $_SESSION["senha"];
}else{
echo "Você não efetuou o login.";
exit();/*caso não tinha session.. quer dizer.. ele não logou*/
} /*aqui primeiro ele checa para ver se exite essas Sessoes, e depois ele coloca o valor das sessoes nessas variaveis… para fazermos os testes!*/
if(!(empty($login) OR empty($senha)))
{
//acessa ao banco de dados
$conexao = mysql_connect("localhost", "root", "");
mysql_select_db("inove");
$resultado = mysql_query("SELECT * FROM usuarios WHERE login = '$login'");
if (mysql_num_rows($resultado) == 1)/*caso exista esse login.. vamos testar a senha então*/
{
if ($senha != mysql_result($resultado, 0, "senha"))
{
unset ($_SESSION["nome"]);/*apaga a session que existia mas era errada..*/
unset ($_SESSION["sehna"]);
header("Location: index.php");
exit();
}
}else {
unset ($_SESSION["nome"]);
unset ($_SESSION["sehna"]);
header("Location: index.php");
exit();
}
}else{
header("Location: index.php");
exit();/*caso das sessions estarem vazias*/
}
mysql_close($conexao);
?>
alguém pode me ajudar a fazer esse código funcionar corretamente?
Pergunta
D31v1d1
"RESOLVIDO!
Post editado caso alguém precise de algo parecido o código abaixo está funcionando redondinho!"
Boa noite!
Preciso de ajuda, sou novo em php e estou me batendo para fazer o sistema de login, tenho uma página
index.php que tem este form de envio do login e senha
e tenho essa que verifica o login e senha se é valido ou não, se é valido ele passa para o arquivo _index2.php que é o painel do sistema, pelo que vejo essa página já cria a sessão também correto? login_vai.php Alterei o arquivo e agora o meu _verifica ficou da seguinte maneira abaixo, está verificando mas não está deixando eu logar só está apresentando a mensagem "Voçê não efetuou login!" _verifica.phpalguém pode me ajudar a fazer esse código funcionar corretamente?
Obrigado e até mais
Editado por D31v1d1Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.