
Usuário Logando E Carregando Informações
#1
Posted 02/11/2009, 08:05
Gostaria de uma ajuda de vcs com relação a usuário logado...
Tenho um aplicativo esta funcionanado 100% como eu quero.
Porem hoje, quando o usuário loga no sistema, ele é redirecionado para a página de trabalho, porem não carrega o seu nome junto, ou seja, ele tem que digitar o seu nome para que posso saber quem registrou aquela informação no BD.
Gostaria de saber, como eu posso fazer, quando usuário logar no sistema ele ser redirecionado para a página de trabalho e ja carregar o seu nome junto, desta forma não tendo a necessidade do usuário digitar o seu nome???
Alguem tem algum exemplo que possa me mandar, desta forma eu adaptar para o meu problema.
Agradeço muito se puderem me ajudar!
Obrigado pela atenção de todos.
Boa semana!!
#2
Posted 02/11/2009, 08:38
#3
Posted 02/11/2009, 08:40
Você pode gravar o nome do usuário em uma variável $_SESSION['']. E chama-la onde quiser depois.
Agradeço pela sua ajuda Webdd,
Porem não faço ideia de como fazer isso! Teria algumexemplo para me mostrar??
Agradeço mais uma vez pela ajuda
Boa semana!
#4
Posted 02/11/2009, 08:54
vamos supor que o campo de login que se preeenche o nome de usuário chame: user
viria para a página que verifica os dados, algo assim $_POST['user'], nesta variável conteria o que o usuário digitou no campo de usuário. bom. basta você criar uma variável SESSION e assimilar a esta POST.
ex.:
$_SESSION['usuario'] = $_POST['user'];
pronto. a partir de agora você pode chamar essa variável $_SESSION['usuario'] a qualquer hora, em qualquer página do sistema, enquanto o usuário permanecer logado, e ela devolverá o usuário que o sujeito logou.
Bom, é isso. Espero que tenha resolvido.
Dúvidas? Posta aí...
Boa Semana pra ti também!
#5
Posted 02/11/2009, 11:26
$_SESSION['usuario'] = $_POST['user'];
Cara melhor do que isso so vc fazendo pra mim, hahahhaha!! (brincadeira)
Veja o meu codigo abaixo:
Esse seria o codigo de login.php
<?php //conecta com o db include ("conectar.php"); $nome= $_POST['nome']; $senha = md5($_POST['senha']); //faz a confirmação de nome e senha no db $logar = mysql_query("SELECT * FROM login WHERE nome='$nome' AND senha='$senha'") or die("erro ao selecionar"); if (strlen($senha)< 1) echo '<p align="center"> Senha Incorreta, Por favor<BR><a href="java script:history.back(1);">tente denovo</a></p>'; elseif (mysql_num_rows($logar)>0 ){ header("location:T_Trabalho.php"); } else { echo '<p align="center">Senha ou Nome invalido.<BR><a href="java script:history.back(1);">Tente novamente.</a></p>'; } ?>
Fiz alteração para:
<?php //conecta com o db include ("conectar.php"); $nome= $_POST['nome']; $senha = md5($_POST['senha']); //faz a confirmação de nome e senha no db $logar = mysql_query("SELECT * FROM login WHERE nome='$nome' AND senha='$senha'") or die("erro ao selecionar"); if (strlen($senha)< 1) echo '<p align="center"> Senha Incorreta, Por favor<BR><a href="java script:history.back(1);">tente denovo</a></p>'; elseif (mysql_num_rows($logar)>0 ){ header("location:T_Trabalho.php"); $_SESSION['usuario'] = $_POST['nome']; } else { echo '<p align="center">Senha ou Nome invalido.<BR><a href="java script:history.back(1);">Tente novamente.</a></p>'; } ?>
E fiz a chamada na minha tela de trabalho:
<tr> <td align="right" valign="bottom"><strong>Responsável:</strong></td> <td valign="bottom"><input name="nome" type="text" id="nome"> <?php echo $_SESSION['nome'] ?></td> <td> </td> </tr>
porem esta apresentando a seguinte mensagem de erro:
Notice: Undefined variable: _SESSION in C:\Arquivos de programas\EasyPHP5.3.0\www\1\T_Trabalho.php on line 119
Na linha 119 seria essa a cima que postei...
Não sei o que posso esta fazendo de errado!!!
Obrigado pela ajuda!!!!
#6
Posted 03/11/2009, 04:02
você criou a $_SESSION['usuario']
e chamou pela $_SESSION['nome']
ou seja, você colocou nome errado...
É isso...
- FelipeFerreira likes this
#7
Posted 03/11/2009, 08:04
Simples:
você criou a $_SESSION['usuario']
e chamou pela $_SESSION['nome']
ou seja, você colocou nome errado...
É verdade nao tinha reparado nisso...
Fiz a alteração porem continua dando o mesmo erro...
Eu coloquei
<?php // Iniciando a Sessão. session_start(); ?>
No inicio da página onde quero que apareça o nome do usuário, so que nada...
Ta dando erro quando eu chamo esse dado para ser exibido na tela...
Deixa eu fazer uma pergunta...
A onde eu tenho que declarar isso:
$_SESSION['usuario'] = $_POST['user'];
Estou declando no codigo de login:
Veja se estou fazendo certo:
<?php //conecta com o db include ("conectar.php"); $nome= $_POST['nome']; $senha = md5($_POST['senha']); $_SESSION['usuario'] = $_POST['nome']; //faz a confirmação de nome e senha no db $logar = mysql_query("SELECT * FROM login WHERE nome='$nome' AND senha='$senha'") or die("erro ao selecionar"); if (strlen($senha)< 1) echo '<p align="center"> Senha Incorreta, Por favor<BR><a href="java script:history.back(1);">tente denovo</a></p>'; elseif (mysql_num_rows($logar)>0 ){ header("location:T_Trabalho.php"); } else { echo '<p align="center">Senha ou Nome invalido.<BR><a href="java script:history.back(1);">Tente novamente.</a></p>'; } ?>
Muito obrigado mesmo pela ajuda que vc esta me dando!!! Ter agradeço muito!!!

#8
Posted 03/11/2009, 08:14
ponha este:
<?php
// Iniciando a Sessão.
session_start();
?>
no inicio de cada página onde está presente a session, ou seja, onde tu cria, na pagina de login, e na pagina onde tu chama.
acho que esse pode ser o detalhe. eu havia me esquecido disso. é preciso usar o session_start(); no topo antes de criar, manipular, ou ler SESSION.
certifique o session_start(); está presente onde tu quer aí...
- FelipeFerreira likes this
#9
Posted 03/11/2009, 08:46
no inicio de cada página onde está presente a session, ou seja, onde tu cria, na pagina de login, e na pagina onde tu chama.
Eu coloquei esse session_start(); no inicio do codigo de login.
<?php // Iniciando a Sessão. session_start(); //conecta com o db include ("conectar.php"); $nome= $_POST['nome']; $senha = md5($_POST['senha']); $_SESSION['usuario'] = $_POST['nome']; //faz a confirmação de nome e senha no db $logar = mysql_query("SELECT * FROM login WHERE nome='$nome' AND senha='$senha'") or die("erro ao selecionar"); if (strlen($senha)< 1) echo '<p align="center"> Senha Incorreta, Por favor<BR><a href="java script:history.back(1);">tente denovo</a></p>'; elseif (mysql_num_rows($logar)>0 ){ header("location:T_Trabalho.php"); } else { echo '<p align="center">Senha ou Nome invalido.<BR><a href="java script:history.back(1);">Tente novamente.</a></p>'; } ?>
Agora parou de retornar o erro... Ficou em branco toda vez que logo no sistema... a minha página de login é HTML eu terie que trocar para PHP, será que pode ser isso???
Eu acredito que não!!!
Dai quando eu fecho o navegador e tento entrar direto na página volta o erro...
Depois quando eu logo de novo, fica em branco....
Caro amigo, Webdd!!!
Acho que estou pelo caminho certo....
Como eu te disse anteriormente, o erro somiu... Dai quando fui salvar no banco de dados p/ aminha surpresa o nome foi junto...
Agora so estou com dificuldades mesmo em exibir o nome do user na tela que so fica em branco!!!
Obrigado pela sua ajuda cara, sem vc eu acho que não iria conseguir!!!
Edição feita por: FelipeFerreira, 03/11/2009, 08:47.
#10
Posted 03/11/2009, 08:58
session_start();
http://www.phpmysqljquery.com.br : PHP, MySQL e jQuery
http://www.passoapasso.info : Minhas dicas
#11
Posted 03/11/2009, 09:37
experimente usar isto no topo de qualquer pagina php que use session:
<?php
session_start();
?>
somente isso em todas php que utilizam variaveis session, já irá resolver.
essa função ativa o uso delas na página.
como disse, estar em branco é porque deve ter algum erro bobo no arquivo...
e lembrando, esse session_start(); só deve ser usado uma vez por página. veja se nao repetiu ele...
- FelipeFerreira likes this
#12
Posted 03/11/2009, 09:56
como disse, estar em branco é porque deve ter algum erro bobo no arquivo...
O erro estava aqui:
<?php echo $_SESSION['usuario'] ?>
Estava assim:
<?php $_SESSION['usuario'] ?>
Dessa forma ficava em branco... Agora esta OK 100%!!!!
Ja esta aparecendo na tela e no banco quando salva....
A minha ultima dúvida.
Tem como eu colocar esse <?php echo $_SESSION['usuario'] ?> dentro do <input name='nome' type='text' id='nome'>????
porque eu tenho um JavaScript que verificar se o input foi digitado alguma coisa. Eu "desabilitei" esse input, mas gostaria de usa-lo!
Mais uma vez, lhe agradeço muito pela sua ajuda!
uma ótima semana pra vc, tudo de bom!!!
#13
Posted 03/11/2009, 10:47
<input type="text" name="nome" id="nome" value="<?php echo $_SESSION['usuario']; ?>" >
com isso este campo viria pré-preenchido com o nome.
tu deve ter usado valor disabled na tag input ne?
acho que é isso...
- FelipeFerreira likes this
#14
Posted 03/11/2009, 11:12
<input type="text" name="nome" id="nome" value="<?php echo $_SESSION['usuario']; ?>" >
Parabêns Webdd,
Tu é fera cara... Tava fazendo de todasas formas para fazer isso so que nada, tudo retornarva erro...
Mas agora foi....
Muito obrigado pela ajuda! Se precisar de alguma coisa fique a vontade de entrar em contato comigo... Se eu puder te ajudar, pode contar que vou...
Uma ótima semana pra vc e para todos!!!
PS:pode fechar o tópico se quiserem.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)