Ir ao conteúdo
  • Cadastre-se

Mostrar informações de um usuário logado


Posts recomendados

Eae galera, sou iniciante em php e mysql, estou a desenvolver um site

 

E queria saber como faço para aparecer as informações de um usuário

 

Na tela de perfil, tenho o seguinte código da tela perfil

<!DOCTYPE html><html lang="pt-BR"><head>	<meta charset="utf-8">	<meta name="description" content="Tela Perfil">	<meta name=viewport content="width=device-width, initial-scale=1">	<title>Tela Perfil</title>	<link rel="stylesheet" href="estilo.css"></head><body><div id="navbar"></div><div id="div-central">	<div class="div-logo-telas"><img src="img/logoPerfil.png"></div>	<div id="div-img-perfil">		<input type="file" name="imagem" id="">	</div>	<div id="div-info-perfil">		<center><h2>Nome do Usuário</h2></center>		<h3>Sexo:</h3>		<h3>Posição:</h3>		<h3>Universidade:</h3>		<h3>Desde:</h3>		<h3>Questões Acertadas:</h3>		<h3>Questões Erradas:</h3>	</div>	</div><div id="footer"></div>		</body></html>

Desde já, agradeço quem puder me ajudar.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FebenSss

 

Você pode mostrar em tela, usando o php para buscar os dados no banco de dados.

 

exemplo simples:

 

Vai ter um link para o perfil... que envie por GET o ID deste usuário por exemplo:

<a href="perfil.php?id=$id"> Ver perfil </a>

este ID é trazido do banco de dados...

então passado por GET para a página perfil.php:

<div id="div-info-perfil"><?php  $id = $_GET['id'];   include 'conexao.php';  $consulta = mysqli_query($conexao, "SELECT nome,endereco FROM cliente WHERE id= $id");  while($perfil = mysqli_fetch_object($consulta)):     echo "            <h1>$perfil->nome</h1>            <p>Endereço: $perfil->endereco</p>       endwile;  ?></div>
Link para o comentário
Compartilhar em outros sites

Opaa obrigado pela resposta, eu encontrei alguns exemplos na net

 

Ficaria mais ou menos assim?

<!DOCTYPE html><html lang="pt-BR"><head>	<meta charset="utf-8">	<meta name="description" content="Tela Perfil">	<meta name=viewport content="width=device-width, initial-scale=1">	<title>Tela Perfil</title>	<link rel="stylesheet" href="estilo.css"></head><body><div id="navbar"></div><div id="div-central">	<div class="div-logo-telas"><img src="img/logoPerfil.png"></div>	<div id="div-img-perfil">		<input type="file" name="imagem" id="">	</div>	<div id="div-info-perfil">		<?php		session_start();		require_once ("connection/conexao.php");		$sql = mysql_query("select * from cadastro WHERE id = '".$_SESSION['sessao_que_contenha_o_id_do_usuario']."' LIMIT 1");		echo "string";		?>			</div>	</div><div id="footer"></div>		</body></html>
Link para o comentário
Compartilhar em outros sites

  • Moderador

@FebenSss

 

Ah...  achei que acho tipo o fórum.. quando clica no nome... abre uma página com os dados do usuário..

 

Mas não, interpretei errado a dúvida.  

O que você precisa é realmente usar as sessions.  mas não assim como postou.

Você define as as informações que ficarão na sessão no momento do login( no arquivo que valida o usuário )

 

Em algum lugar do fórum web tem alguns tópicos que eu ajudo os usuários fazerem um sistema de login gravando os dados na sessão.

Dê uma procurada usando a ferramenta de pesquisa. Com certeza vai achar.

Link para o comentário
Compartilhar em outros sites

Cara achei muitos exemplos no fórum como você comentou

Segui a risca alguns porém não consegui implementar no meu código

Ao meu ver está correto o modo que eu fiz, porém não funciona, fiz uma alteração

Ficou desse modo abaixo.

<?phprequire_once ("connection/conexao.php"); session_start();?><!DOCTYPE html><html lang="pt-BR"><head>	<meta charset="utf-8">	<meta name="description" content="Tela Rank">	<meta name=viewport content="width=device-width, initial-scale=1">	<title>Tela Rank</title>	<link rel="stylesheet" href="estilo.css"></head><body><div id="navbar"></div><div id="div-central">	<div id="div-suport-logo">		<div class="div-logo-telas"><center><h1>RANK</h1></center></div>		<div class="div-descri-telas"><center>Este é o rank individual do Tecno Provas.</center></div>	</div>	<div id="teste">		<h1>Olá</h1><?php echo $_SESSION['email_usuario']; ?>	</div>	</div><div id="footer"></div>		</body></html>

Uma dúvida, todas as telas HTML tem que ser iniciado a sessão, ou só as que fazem consulta no BD?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FebenSss

Bom.. se não está funcionando.. não está certo... rsrsrs

 

Sim.  todas as páginas que você quer mostrar algo que está na sessão precisa iniciar a sessão.

 

O lance para funcionar tens que armazenar os dados no momento do login.. por isso  seria interessante você postar como você está validando o usuário... ou seja o conteúdo do arquivo php que recebe os dados do formulário de login.

Link para o comentário
Compartilhar em outros sites

beleza @dif então vamos lá, quero mostrar o nome  do visitante logado na página apos efetuar o login.

 

Página (home.html)

<?phprequire_once ("connection/conexao.php");session_start();if(!isset($_SESSION["email_usuario"]) || !isset($_SESSION["senha_usuario"])){	header("Location: index.html");	exit;}else{	echo "Bem vindo ao TecnoProvas";}?><html lang="pt-BR"><head>	<meta charset="utf-8">	<meta name="description" content="Tela Home">	<meta name="viewport" content="width=device-width, initial-scale=1">	<title>Tela Home</title>	<link rel="stylesheet" href="estilo.css"></head><body><div id="navbar">	<a href="logout.php">Sair</a></div><div id="div-central">	<div id="div-suport-logo">		<div class="div-logo-telas"><center><h1> <img src="img/logoHome.png" alt=""> HOME</h1></center></div>		<div class="div-descri-telas"><center>Esta é sua tela inicia, tudo ao seu alcance.</center></div>	</div>	<div id="visitante">Bem vindo,</div>	<div id="div-btn-problemas"><img src="img/logoProblemas.png" style="float:left"><a href="problemas.html">PROBLEMAS</a>	</div>	<div id="div-btn-estudos"><img src="img/logoEstudos.png" style="float:left"><a href="estudo.html">MATERIAIS DE ESTUDO</a>	</div>	<div id="div-btn-rank"><img src="img/logoRank.png" style="float:left"><a href="rank.html">RANK</a>	</div>	<div id="div-btn-universidades"><img src="img/logoUniversidades.png" style="float:left"><a href="universidade.html">UNIVERSIDADES</a>	</div>	<div id="div-btn-novidades"><img src="img/logoNovidades.png" style="float:left"><a href="novidades.html">NOVIDADES</a>	</div>	<div id="div-btn-static"><img src="img/logoStatic.png" style="float:left"><a href="estatic.html">ESTATÍSTICAS</a>	</div>	<div id="div-btn-ajuda"><img src="img/logoAjuda.png" style="float:left"><a href="ajuda.html">AJUDA</a>	</div>	<div id="div-btn-feedback"><img src="img/logoFeedback.png" style="float:left"><a href="feedback.html">FEEDBACK</a>	</div></div><div id="footer"></div>		</body></html>

Página (autenticacao.php)

<html><head><meta http-equiv="Content-Type" content="text/txt/html; charset=utf-8"/><title>Autenticando</title><script type="text/javascript">function loginsucessoful(){	setTimeout("window.location='home.html'", 1000);}function loginfailed(){	setTimeout("window.location='index.html'", 1000);}</script></head><body><?phprequire_once ("connection/conexao.php");$email=$_POST['email_usuario'];$senha=$_POST['senha_usuario'];$sql=mysql_query("SELECT * FROM cadastro WHERE email_usuario = '$email' and senha_usuario = '$senha'") or die(mysql_error());$row=mysql_num_rows($sql);if($row>0){	session_start();	$_SESSION['email']=$_POST['email_usuario'];	$_SESSION['senha']=$_POST['senha_usuario'];	echo "Autenticado com sucesso!";	echo "<script>loginsucessoful()</script>";}else{	echo "E-mail ou senha incorretos!";	echo "<script>loginfailed()</script>";}?></body></html>
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...