Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Zoação

Exibir o nome do usuário digitado no login

Recommended Posts

Tenho um sistema de login onde preciso colocar na página de resposta o nome do usuário que se logou, veja:

 

- O usuário digita seu login e senha e caso o acesso seja permitido (os dados estejam corretos) ao ser redirecionado para a próxima tela, ele então tenha uma tela de boas vindas do tipo:

 

"Bem vindo Luciane, o que deseja fazer?"

 

Obrigado!!

 

Obs.: e quando ele "enviar" o formulário de pedido, este envie seu e-mail automaticamente (sem que precise digitar novamente)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode salvar os dados em uma [inline]$_SESSION[/inline] e depois exibir onde quiser.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode salvar os dados em uma [inline]$_SESSION[/inline] e depois exibir onde quiser.

 

Exatoo, use seção que voce consegue puxar oque voce quiser

 

mas é interessante fazer uma validação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer desse jeito, obviamente trocando as tabelas e os campos

<?php
	$sql	= "SELECT * FROM users WHERE id = '".$_SESSION['id']."'";
	$query	= mysql_query( $sql );
	$a	= mysql_fetch_assoc( $query );

	$_SESSION['name'] = $a['name'];

	// Sempre que precisar do nome basta dar echo na SESSION['name']
	echo $_SESSION['name'];
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer desse jeito, obviamente trocando as tabelas e os campos

<?php
	$sql	= "SELECT * FROM users WHERE id = '".$_SESSION['id']."'";
	$query	= mysql_query( $sql );
	$a	= mysql_fetch_assoc( $query );

	$_SESSION['name'] = $a['name'];

	// Sempre que precisar do nome basta dar echo na SESSION['name']
	echo $_SESSION['name'];
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como os colegas disseram, pelo seu tópico você não conhece ou não sabe muito sobre as sessions, estude elas e não vai querer saber de outra coisa e nunca mais terá este problema.

 

Na paginar de logar, caso os dados estejam corretos coloque:

 

session_start();
$_SESSION[‘logado’]=sim;
$_SESSION[‘email’]="$emaildeacesso";
E para exibir o email quando estiver logado:
$emaildousuario=$_SESSION[‘email’];
echo "$emaildousuario";
Com este email você também pode puxar do banco de dados o nome completo, a foto e etc....
Para não ter problemas com Sessions não esqueça de colocar na primeira linha de cada arquivo onde for utiliza-la, incluindo no logar:
<? ob_start(); ?>
Qualquer dúvida é só falar;
Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, vejam:

 

logar.php ----------------------------------------------

<?php
include("config.php");

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

$sql_logar = "SELECT * FROM user WHERE login = '$login' && senha = '$senha'";
$exe_logar = mysql_query($sql_logar) or die (mysql_error());
$fet_logar = mysql_fetch_assoc($exe_logar);
$num_logar = mysql_num_rows($exe_logar);

if ($num_logar == 0){
echo "Login ou senha invalido.";
echo "<br><a href='javascript:window.history.go(-1)'>Clique aqui para volta.</a>";
}
elseif($fet_logar['activo'] == "N"){
echo "Usuario não ativado, verifique seu e-mail para ativa a conta.";
echo "<br><a href='javascript:window.history.go(-1)'>Clique aqui para volta.</a>";
}
else{

session_start();
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
header("Location:principal.php");
}
?>

 

---------------------------------------------------------------------------------------------------------

 

Agora, como tem que ficar no arquivo seguinte, no caso o principal.php que terá as opções ?

Preciso exibir na tela seguinte o nome do usuário logado...

Como faço isto?

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, vejam:

 

logar.php ----------------------------------------------

<?php

include("config.php");

$login = $_POST['login'];

$senha = $_POST['senha'];

$sql_logar = "SELECT * FROM user WHERE login = '$login' && senha = '$senha'";

$exe_logar = mysql_query($sql_logar) or die (mysql_error());

$fet_logar = mysql_fetch_assoc($exe_logar);

$num_logar = mysql_num_rows($exe_logar);

if ($num_logar == 0){

echo "Login ou senha invalido.";

echo "<br><a href='javascript:window.history.go(-1)'>Clique aqui para volta.</a>";

}

elseif($fet_logar['activo'] == "N"){

echo "Usuario não ativado, verifique seu e-mail para ativa a conta.";

echo "<br><a href='javascript:window.history.go(-1)'>Clique aqui para volta.</a>";

}

else{

session_start();

$_SESSION['login'] = $login;

$_SESSION['senha'] = $senha;

header("Location:principal.php");

}

?>

 

---------------------------------------------------------------------------------------------------------

 

Agora, como tem que ficar no arquivo seguinte, no caso o principal.php que terá as opções ?

Preciso exibir na tela seguinte o nome do usuário logado...

Como faço isto?

 

 

Obrigado!

 

Você recupera o email do usuário assim:

 

$emaildousuario=$_SESSION[‘email’];

 

Ai faz uma busca no banco de dados com este email para trazer o nome, fotos e etc deste usuário.

 

Outra dica: Seu site vai ser bastante acessado? Dependendo do projeto te aconselho a observar alguns detalhes de segurança no login, seu login está pronto pra ser invadido por sql injection.

 

Mas se for um projeto pequeno dificilmente alguém fará isto, mas mesmo assim é sempre bom pensar na segurança.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Lauro,

 

Como faria isto?

Você teria algum exemplo?

 

Obrigado desde já

 

?? Não te entendi amigo, como faria o que? exemplo do que? Sobre seu login, sobre trazer as informações do BD, sobre segurança?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O login Lauro, está funcionando perfeitamente.

O que precisaria ver seria sobre como exibir o nome do usuário e o endereço do mesmo ...

 

Obrigado desde já pela atenção e ajuda!!!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

?? Não te entendi amigo, como faria o que? exemplo do que? Sobre seu login, sobre trazer as informações do BD, sobre segurança?

 

Entenda @Lauro Daniel, como fica pronto o código de acordo com o que ele precisa.

 

Ele já deu o código, agora quer que você dê um exemplo baseado no códio dele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, vou explicar mais diretamente:

 

Você quer exibir o nome do usuário logado na página logar.php?

 

Na sua tabela user, você tem as informações tipo nome completo? e etc?

 

Se tiver, é só fazer assim:

 

 

<? ob_start(); ?>
 
$emaildousuario=$_SESSION[‘login’];
 
$trasusuario = mysql_query("SELECT * FROM user WHERE emailusuario='$emaildousuario'");
while($trousuario = mysql_fetch_array($trasusuario)){
$nomedousuario=$trousuario['nome']; //supondo o nome do usuário fique em uma coluna chamada nome em seu bd }
 
echo "$nomedousuario";
 


Coloque este código em toda página que quer exibir o nome do usuário, não esqueça de adaptar com os nomes do seu banco de dados.

 

Com ele você pode também trazer o endereço, telefone e etc da tabela user.

 

Se precisar me passe o nome das suas colunas do bd que te passo o código 100% só copiar e colar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lauro, veja só:

Os campos da tabela "user" são:

 

id
login
senha
email
activo
sessao
nomecompleto
endereco
numero
complemento
bairro
cep
cidade
uf
pais

 

Os campos que preciso que sejam exibidos na tela principal.php são:

 

nomecompleto
endereco
numero
complemento
bairro
cep
cidade
uf

 

Lembrando, que a página principal.php terá um
formulário onde o usuário irá preencher caso queira...

 

Obs.: teria como colocar estes campos em uma textbox para cada campo? Assim, o usuário poderá alterar os dados, menos seu "nome" que será salvo automaticamente.
Obs.: os dados enviados no formulário principal.php serão gravados em "pedidos"
Obs.: o formulário principal.php não irá realizar nenhuma alteração na tabela "user"

 

O nome do banco de dados é: "atendimentousuario"

 

 

Obrigado desde já a ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites


<? ob_start(); ?>   $login=$_SESSION[‘login’];  

$trasusuario = mysql_query("SELECT * FROM user WHERE login='$login'"); 

while($trousuario = mysql_fetch_array($trasusuario)){ 

$nomedousuario=$trousuario['nomecompleto']; 


$enderecodousuario=$trousuario['endereco']; 

$numero=$trousuario['numero']; 

$complemento=$trousuario['numero']; 

$bairro=$trousuario['bairro']; 

$cep=$trousuario['cep']; 

$cidade=$trousuario['cidade']; 

$uf=$trousuario['uf']; 
}   echo "Nome completo: $nomedousuario";

echo "Endereço: $enderecodousuario";

echo "Numero: $numero";

echo "Complemento: $complemento";

echo "Bairro: $bairro";

echo "Cidade: $cidade";

echo "Cep: $cep";

echo "UF: $uf";

 

Para exibir as informações de forma editável dentro do campo de texto é muito simples, é só fazer assim:

 

 

 
<input name="nomecompleto" type="text" value="<? echo "$nomedousuario" ?>" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

sempre coloque session_start(); no top da página onde haverão sessões...

vc grava o dado na sessão que vc criou:

 

$_SESSION["SuaSessaoUsuario"] = $usuario;
$_SESSION["logado"] = 1;
$_SESSION["niveldeAcesso"] = 3;

 

depois na página restrita vc determina se está com sessão:

session_start();
if ( $_SESSION["SuaSessaoUsuario"] == 'usuario permitido' && $_SESSION["niveldeAcesso"] > 2 && $_SESSION["logado"]==1){
?>
aqui a html logada...
<?php
}
else{
echo "sem permissão!";
    unset($_SESSION["SuaSessaoUsuario"]);
    unset($_SESSION["niveldeAcesso"]);
    unset($_SESSION["logado"]);
}

 


Importante:

sempre trate o usuario e senha para evitar o risco de sql injection:

 

$usuario = addslashes(strip_tags($_POST["user"]));
$senha= addslashes(strip_tags($_POST["pass"]));

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.