Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Login e senha com session

10-08-2009 15:52

Olá pessoal,

eu estou tentando fazer um sistema de login e senha com session mas estou tendo alguns problemas.

Antes de implementar o código nas paginas originais eu fiz alguns testes com paginas a parte.

Eu fiz cincos paginas: Index.php (com form de login); Verificar.php (verifica se os dados estão corretos, se estiverem, criam session e redireciona para pagina_logado.php); config.php (faz a conexão) e LogOut.php (Logout do area de usuario). Talvez tantas paginas seja um exagero... :8)

Seria perfeito se funcionasse, essa era a intenção... Quando eu faço login ele vai para pagina verificar.php e não faz mais nada, não apresenta nenhum e nem redireciona.

Abaixo está codigo da Index.php.


<html> <head> <title>Login</title> </head> <body> <h2>::Login::</h2> <br> <form name="form1" method="post" action="verificar.php"> Us&uacute;ario: <label> <input name="login" type="text" id="login"> </label> Senha: <label> <input name="senha" type="text" id="senha"> </label> <label> <input type="submit" name="Submit" value="Entrar"> </label> </form> </body> </html>

Depois de clicar em entrar ela vai para Verificar.php

<?php session_start(); include "config.php" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Logar</title> </head> <body> <? $login = $_SESSION['login']; $senha = $_SESSION['senha']; $sql = mysql_query("SELECT * FROM usuario WHERE login = '$login' AND senha = '$senha'"); if (mysql_num_rows($sql) == 1){ $_SESSION['login_session'] = $login; $_SESSION['senha_session'] = $senha; include "pagina_logado.php"; }else{ unset($_SESSION['login_session']); unset($_SESSION['senha_session']); include "Index.php"; } ?> </body> </html>

A conexão:

<?php $db = mysql_connect("localhost", "root", ""); $dados = mysql_select_db("usuario"); ?>

E a pagina_logado.php

<?php session_start(); ?> <html> <head> <title>:: Logado!!! ::</title> </head> <body> <? include "config.php" $login = $_SESSION['login_session']; $senha = $_SESSION['senha_session']; $sql = mysql_query("SELECT * FROM usuario WHERE login = '$login' AND senha = '$senha'"); while ($linha = mysql_fetch_array($sql)){ $nome = $linha['nome']; } ?> <p><?php $nome = "usuário"; $hr = date(" H "); if($hr >= 12 && $hr<18) { $resp = "Boa tarde";} else if ($hr >= 0 && $hr <12 ){ $resp = "Bom dia";} else { $resp = "Boa noite";} echo "$resp "; if(!isset($_SESSION['login_session']) AND !isset($_SESSION['senha_session'])){ echo $nome; }else{ echo $nome_session = $linha['nome']; } ?>, seja bem vindo! @O_o@ / <a href="LogOut.php">Sair</a></p> </body> </html>

E por ultimo o logout.php

<?php session_start(); unset($_SESSION['login_session']); unset($_SESSION['senha_session']); include "Index.php"; ?>

As paginas não reportam nenhum erro mas também não fazem nada, somente as duas ultimas estão fazendo o que elas devem fazer (Logout e redirecionar para index)

Então eu gostaria que alguém me ajudasse a resolver isso, falando o que está errado ou faltando no codigo...

Muito obrigado. :help
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Login e senha com session

10-08-2009 17:15

Tem 2 erros já nos primeiros 2 arquivos.

Os inputs estão sem value ( value="" )

Para criar a session você não identifica que os valores dela vem do POST
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Login e senha com session

10-08-2009 17:40

Eu pensei que o value era opicional, então eu coloquei esse:

<input name="form1" type="text" id="login" onfocus="javascript:if('Login'==this.value){this.value = '';}" onblur="javascript:if(''==this.value){this.value='Login';}" value="Login" size="30" />

O segundo erro seria esse?

$login = $_POST['login']; $senha = $_POST['senha'];

Depois de fazer isso ele retornou um erro:

Notice: Undefined index: login in C:\wamp\www\WebLocomotivaDownloads\Login\Login_Test\Verificar.php on line 15 Notice: Undefined index: senha in C:\wamp\www\WebLocomotivaDownloads\Login\Login_Test\Verificar.php on line 16 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\WebLocomotivaDownloads\Login\Login_Test\Logar.php on line 20

Você sabe como arrumar???? :-? Eu acho que o codigo aindo não está criando nenhuma session.

Quando eu inicio o php com as tags "<? ?>" ele não verifica nada e permanace na pagina sem redirecionar e quando eu incio com essas tags "<?php ?>" a pagina mostra o erro acima. :o

Obrigado...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Login e senha com session

10-08-2009 17:50

Seu input está com um name, e o POST tá pegando outro name

<input name="form1" type="text" id="login" onfocus="javascript:if('Login'==this.value){this.value = '';}" onblur="javascript:if(''==this.value){this.value='Login';}" value="Login" size="30" />

$login = $_POST['login'];

Usa essa base para obter o número de linhas

$conexao = mysql_connect("localhost", "login", "senha") or die(mysql_error()); $db = mysql_select_db("bd"); $selec = "SELECT ..."; $exec = mysql_query($selec, $conexao) or die(mysql_error()); // $total é o número de linhas $total = mysql_num_rows($exec);

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Login e senha com session

10-08-2009 18:56

Eu fiz o que você falou e fiz também algumas mudanças no codigo da pagina_logado.php e mais uma vez você me ajudou a solucionar o problema. :;)

Muito obrigado... :grin
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Login e senha com session

10-08-2009 19:30

Boa
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado