Jump to content


Photo

Usuário Logando E Carregando Informações


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

#1 FelipeFerreira

FelipeFerreira

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

Posted 02/11/2009, 08:05

Ola amigos,

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 Webdd

Webdd

    Normal

  • Aguardando Liberação
  • PipPip
  • 112 posts
  • Sexo:Não informado

Posted 02/11/2009, 08:38

Você pode gravar o nome do usuário em uma variável $_SESSION['']. E chama-la onde quiser depois.

#3 FelipeFerreira

FelipeFerreira

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

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 Webdd

Webdd

    Normal

  • Aguardando Liberação
  • PipPip
  • 112 posts
  • Sexo:Não informado

Posted 02/11/2009, 08:54

Ex: O Sistema Verifica os dados que vem do formulario de login, e se estiver certo loga. bom. depois que verificada, você pode pegar o nome de usuário que veio no formulário de login. e assimilar assim:

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 FelipeFerreira

FelipeFerreira

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

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&aacute;vel:</strong></td>
	<td valign="bottom"><input name="nome" type="text" id="nome">  <?php echo $_SESSION['nome'] ?></td>
	<td>&nbsp;</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 Webdd

Webdd

    Normal

  • Aguardando Liberação
  • PipPip
  • 112 posts
  • Sexo:Não informado

Posted 03/11/2009, 04:02

Simples:

você criou a $_SESSION['usuario']

e chamou pela $_SESSION['nome']

ou seja, você colocou nome errado...

É isso...

#7 FelipeFerreira

FelipeFerreira

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

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!!! (y)

#8 Webdd

Webdd

    Normal

  • Aguardando Liberação
  • PipPip
  • 112 posts
  • Sexo:Não informado

Posted 03/11/2009, 08:14

Experimente o seguinte:

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í...

#9 FelipeFerreira

FelipeFerreira

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

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 KILLME

KILLME

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado
  • Localidade:Caraguatatuba-SP

Posted 03/11/2009, 08:58

Você tem que iniciar a session em todos arquivos que for utilizar...

session_start();


http://www.liveworks.com.br : Soluções para internet
http://www.phpmysqljquery.com.br : PHP, MySQL e jQuery
http://www.passoapasso.info : Minhas dicas

#11 Webdd

Webdd

    Normal

  • Aguardando Liberação
  • PipPip
  • 112 posts
  • Sexo:Não informado

Posted 03/11/2009, 09:37

quando fica em branco é porque deu algum erro, mas não apareceu.

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...

#12 FelipeFerreira

FelipeFerreira

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

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 Webdd

Webdd

    Normal

  • Aguardando Liberação
  • PipPip
  • 112 posts
  • Sexo:Não informado

Posted 03/11/2009, 10:47

então cara, se eu entendi, creio que você vá inserir este php num código html mesmo, então ficaria assim:

<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...

#14 FelipeFerreira

FelipeFerreira

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

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.

#15 Webdd

Webdd

    Normal

  • Aguardando Liberação
  • PipPip
  • 112 posts
  • Sexo:Não informado

Posted 03/11/2009, 12:03

beleza cara!

boa semana pra ti também!




1 user(s) are reading this topic

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

IPB Skin By Virteq