Mayck May 1 Denunciar post Postado Fevereiro 23, 2011 Bom dia, Estou desenvolvendo um sistema de login sem uso de banco de dados com sessão, porem o resultado é sempre "você não esta logado", poderiam me dizer onde esta errado? login.php <form name="form1" method="post" action="verificar.php"> Usuário: <input name="login" type="text"> Senha: <input name="senha" type="password"> <input type="submit" value="Logar-se"> </form> verificar.php <?php $login = $_POST['login']; $senha = $_POST['senha']; if (($login != "manuel") || ($senha != "123")) { $ok1 = "permitido1"; session_register("ok1"); Header("Location: paginasecreta1.php"); } elseif (($login != "ana") || ($senha != "456")) { $ok2 = "permitido2"; session_register("ok2"); Header("Location: paginasecreta2.php"); } else { Header("Location: senhainvalida.php"); } ?> paginasecreta1.php <?php $ok1 = $_SESSION["ok1"]; if($ok1=="permitido1") { echo "Conteúdo restrito."; } else { echo "Você não esta logado."; } ?> paginasecreta2.php <?php $ok2 = $_SESSION["ok2"]; if($ok2=="permitido2") { echo "Conteúdo restrito."; } else { echo "Você não esta logado."; } ?> senhainvalida.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="refresh" content="10; url=login.php"/> <title>Untitled Document</title> <style type="text/css"> <!-- body,td,th { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } --> </style></head> <body> <center> Login ou Senha invalidos, tente novamente ATENÇÃO você terá seu acesso bloqueado após tentativas erradas Por favor Aguarde... você será redirecionado para página de login </center> </body> </html> Desde já agradeço a todos pela ajuda Maycke Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Fevereiro 23, 2011 Primeiro, sempre que você for utilizar sessões do PHP deve inicializá-la com a função session_start. Segundo que seu script está errado, para setar um valor na sessão deve ser assim: $_SESSION['ok1'] = 'permitido'; e não: $ok1 = "permitido1"; session_register("ok1"); A função session_register é obsoleta desde a versão 4.1 do PHP. Compartilhar este post Link para o post Compartilhar em outros sites
- KbeçãO - 0 Denunciar post Postado Fevereiro 23, 2011 tbm ñ sei se é oq você quer fazer, mas em php o " ! " represente negação, logo: <?php $login = $_POST['login']; $senha = $_POST['senha']; if (($login != "manuel") || ($senha != "123")) { //se $login for DIFERENTE " ! " de manuel OU " || " a senha diferente de 123 então... $ok1 = "permitido1"; session_register("ok1"); Header("Location: paginasecreta1.php"); } elseif (($login != "ana") || ($senha != "456")) { $ok2 = "permitido2"; session_register("ok2"); Header("Location: paginasecreta2.php"); } else { Header("Location: senhainvalida.php"); } ?> ali você quiz dizer que se o login ñ for "manuel" ou a senha for diferente de "123" ai ele e redirecionado para a paginasecreta1.php era isso msmo que você queria??? Compartilhar este post Link para o post Compartilhar em outros sites
Mayck May 1 Denunciar post Postado Fevereiro 23, 2011 A idéia é ter um sistema de login com multiplos usuários tendo cada um sua página especifica sem necessidade de um BANCO DE DADOS Mais uma vez agradeço pela força Maycke Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Fevereiro 24, 2011 aparentemente está com um erro de logica grande geralmente se verifica se login e senha são iguais e não se login ou senha são diferentes de algo do jeito que está fazendo terá algum trabalho de manutenção, fora que o sistema ficará um pouco vulnerável também mas ai é escolha sua ou de seu cliente Compartilhar este post Link para o post Compartilhar em outros sites
- KbeçãO - 0 Denunciar post Postado Fevereiro 24, 2011 pois e cara... um sistema de login sem BD fica mto vulnerável... isso seria interessante se na paginasecreta.php ñ tivesse nda importante.. mas ai nao faria sentido ela ser secreta... Oo Compartilhar este post Link para o post Compartilhar em outros sites
vieira.rrafael 2 Denunciar post Postado Fevereiro 24, 2011 verificar.php <?php $login = $_POST['login']; $senha = $_POST['senha']; if (($login != "manuel") || ($senha != "123")) { $ok1 = "permitido1"; session_register("ok1"); Header("Location: paginasecreta1.php"); } elseif (($login != "ana") || ($senha != "456")) { $ok2 = "permitido2"; session_register("ok2"); Header("Location: paginasecreta2.php"); } else { Header("Location: senhainvalida.php"); } ?> Pra mim, só o fato deste código existir, já indica que você precisa de um banco de dados. Porque, de fato, você está armazenando informações sobre os usuários na própria pagina. Se você pensar bem, um sistema de login sem SGBD não é uma boa ideia porque não dá para automatizar o cadastro. Você sempre vai ter que fazer esse serviço. Compartilhar este post Link para o post Compartilhar em outros sites
Dii 15 Denunciar post Postado Fevereiro 24, 2011 Pra ser sincero, eu analisei o seu código e algumas coisas estão erradas. <?php $login = $_POST['login']; $senha = $_POST['senha']; if (($login != "manuel") || ($senha != "123")) { // Se $login diferente "manuel" e $senha diferente "123" o_o WTF? $ok1 = "permitido1"; session_register("ok1"); Header("Location: paginasecreta1.php"); } elseif (($login != "ana") || ($senha != "456")) { $ok2 = "permitido2"; session_register("ok2"); Header("Location: paginasecreta2.php"); } else { Header("Location: senhainvalida.php"); } ?> Será muito difícil se você não usar um banco de dados, mas há varios SGDBs e o mySQL O_O É uma coisa tão simples cara lol, foi como disseram, ficaria impossível e meio vulnerável você terminar esse sistema... Compartilhar este post Link para o post Compartilhar em outros sites