Jump to content
Vinicius-Visanfe

Como fazer aparecer nome de usuário no meu Perfil.

Recommended Posts

Ola tenho esses arquivos.

 

// Esse arquivo usuarios.php tem a conexao e a parte de login e cadastro.

?php
 
class Usuario{
 
private $pdo;
 
//Construtor
public function __construct($dbname, $host, $username, $password){
try {
$this->pdo = new PDO("mysql:dbname=".$dbname.";host=".$host, $username, $password);
} catch (PDOException $e) {
echo "Erro com BD: ".$e->getMessage();
}catch (Exception $e) {
echo "Erro: ".$e->getMessage();
}
}
 
//Cadastrar
public function cadastrar($nome, $telefone, $email, $cpf, $bairro, $cidade, $senha){
 
//Antes de cadastrar verificar se ja esta cadastrado
$cmd = $this->pdo->prepare("SELECT id from usuarios WHERE email = :e");
$cmd->bindValue(":e",$email);
$cmd->execute();
if($cmd->rowCount() > 0) //Veio id
{
return false;
}else // Não veio id
{
//Cadastrar
$cmd = $this->pdo->prepare("INSERT INTO usuarios (nome, telefone, email, cpf, bairro, cidade, senha)
values (:n, :t, :e, :c, :b, :d, :s)");
$cmd->bindValue(":n",$nome);
$cmd->bindValue(":t",$telefone);
$cmd->bindValue(":e",$email);
$cmd->bindValue(":c",$cpf);
$cmd->bindValue(":b",$bairro);
$cmd->bindValue(":d",$cidade);
$cmd->bindValue(":s",md5($senha));
$cmd->execute();
return true;
}
 
 
}
 
//Logar
public function entrar($email, $senha)
{
$cmd = $this->pdo->prepare("SELECT * from usuarios WHERE email = :e AND senha = :s");
$cmd->bindValue(":e",$email);
$cmd->bindValue(":s",md5($senha));
$cmd->execute();
if($cmd->rowCount() > 0) //Se foi encontrado essa pessoa
{
$dados = $cmd->fetch();
 
if($dados['id'] == 1)
{
//Usuario ADM
$_SESSION['id_master'] = 1;
}else{
//Usuario Normal
$_SESSION['id_usuario'] = $dados['id'];
}
return true; //Usuário encontrado
}else{
return false; //Usuário não foi encontrado
}
}
 
}
?>
 
// Ja esse arquivo meu-perfil.php seria o Perfil de usuario
 
html lang="pt-br">
<head>
<title>Meu perfil - Pé na Estrada</title>
 
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="../css/style.css">
<link rel="stylesheet" href="../css/perfil.css">
 
 
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
 
</head>
<body>
<header class="cabecalho">
<div class="container">
<div class="caixa-cabecalho">
<h1 class="logo"><img class="logo-pe" src="../images/logotipo-pne.png" width="50%"></h1>
<button class="btn-menus"><a class="btns">Cadastrar <i class="fas fa-home"></i></button>
<button class="btn-menul"><a class="btnl" href="">Sair <i class="fas fa-sign-out-alt"></i></i></a></button>
</div>
</div>
</header>
<main>
<div class="container">
<div class="caixa-conteudo">
 
</div>
</div>
</main>
<footer class="rodape">
<div class="container">
<div class="caixa-rodape">
<p class="titulo-rodape">Sobre</p><br>
<a href="#" class="texto-rodape">Inicio</a>
<a href="#" class="texto-rodape">Termos de Uso</a>
<a href="#" class="texto-rodape">Pontos Turisticos</a>
<a href="#" class="texto-rodape">Contato</a>
</div>
<div class="caixa-rodape" id="fale">
<p class="titulo-rodape">Fale Conosco</p><br>
<p class="texto-rodape">(11) 98020-1329</p>
<p class="texto-rodape">marketing@penaestrada.net.br</p>
<P class="texto-rodape">contato@penaestrada.net.br</P>
</div>
<div class="caixa-links" id="redes">
<p class="titulo-rodape">Acesse nossos canais</p><br>
<p class="texto-links"><i id="face" class="fab fa-facebook-f"></i> <i id="insta" class="fab fa-instagram"></i> <i id="twit" class="fab fa-twitter"></i> <i id="you" class="fab fa-youtube"></i></p>
</div>
<div class="caixa-rodape">
<p class="texto-rodape2">PAÚBA Criativa</p>
</div>
<div class="caixa-rodape">
<p class="texto-rodape2">
<i class="fas fa-credit-card" id="card"></i> Crédito/Débito <i class="fas fa-file-invoice-dollar" id="boleto"></i> Boleto
</p>
</div>
<div class="caixa-rodape">
<p class="texto-rodape2">
Segurança <i class="fas fa-shield-alt" id="seguranca"></i>
</p>
</div>
</div>
<div class="caixa-reservados">
<p class="texto-reservados">PÉ NA ESTRADA © 2019 - Todos os direitos reservados</p>
</div>
</footer>
 
<!--Modal de Sign In-->
<style>
.modal-container{
width: 100vw;
height: 100vh;
background: rgba(0,0,0,.5);
position: fixed;
top: 0;
left: 0;
z-index: 2000;
display: none;
justify-content: center;
align-items: center;
}
.modal-container.mostrar{
display: flex;
}
.modal{
background: #ffffff;
width: 25%;
min-width: 250px;
padding: 20px;
position: relative;
border-radius: 8px;
}
 
@keyframes modal{
from{
opacity: 0;
transform: translate3d(0, -60px, 0);
}
to{
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
 
.mostrar.modal{
animation: modal .3s;
}
 
.fechar{
position: absolute;
font-size: 1.2em;
top: -25px;
right: -20px;
width: 40px;
height: 50px;
border-radius: 50%;
border: 2px solid #ffffff;
background-color: #011936;
color: #ffffff;
cursor: pointer;
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .3);
}
.title{
font-weight: bold;
color: #011936;
}
.form-sign{
display: grid;
}
.cx-form{
height: 40px;
margin-top: 5px;
border: 1px solid #a8dbff;
border-radius: 7px;
}
 
.cx-btn{
margin-top: 5px;
width: 40%;
height: 40px;
background-color: #a8dbff;
border: 1px solid #a8dbff;
color: #011936;
font-weight: bold;
border-radius: 7px;
}
 
</style>
<div id="modal-signin" class="modal-container">
<div class="modal">
<button class="fechar"><i class="fas fa-times"></i></button>
<h3 class="title">Cadastrar Propriedade</h3>
<form class="form-sign" action="" method="post" enctype="multipart/forma-data">
<input class="cx-form" type="text" name="titulo" id="titulo" placeholder=" Titulo" maxlength="255" required>
<input class="cx-form" type="text" name="endereco" id="endereco" placeholder=" Endereço" maxlength="255" required>
<input class="cx-form" type="text" name="cep" id="cep" placeholder="CEP" maxlength="20" required>
<input class="cx-form" type="text" name="bairro" id="bairro" placeholder=" Bairro" maxlength="60" required>
<input class="cx-form" type="text" name="cidade" id="cidade" placeholder=" Cidade" maxlength="60" required>
<input class="cx-form" type="text" name="estado" id="estado" placeholder=" Estado" maxlength="2" required>
<input class="cx-form" type="text" name="info" id="info" placeholder=" informações" maxlength="600" required>
<input class="cx-upload" type="file" name="images" id="images">
<input class="cx-btn" type="submit" value="CADASTRAR">
</form>
</div>
</div>
 
<script>
function iniciaModal(modalId){
const modal = document.getElementById(modalId);
if(modal) {
modal.classList.add('mostrar');
modal.addEventListener('click', (e) => {
if(e.target.id == modalId || e.target.className == 'fechar' || e.target.className == 'fas fa-times') {
modal.classList.remove('mostrar');
}
});
}
}
 
const btn = document.querySelector('.btn-menus');
btn.addEventListener('click', () => iniciaModal('modal-signin'));
 
</script>
</body>
</html>
 
<!--PHP -->
 
<?php
 
if(isset($_POST['titulo'])){
$titulo = htmlentities(addslashes($_POST['titulo']));
$endereco = htmlentities(addslashes($_POST['endereco']));
$cep = htmlentities(addslashes($_POST['cep']));
$bairro = htmlentities(addslashes($_POST['bairro']));
$cidade = htmlentities(addslashes($_POST['cidade']));
$estado = htmlentities(addslashes($_POST['estado']));
$info = htmlentities(addslashes($_POST['info']));
$images = htmlentities(addslashes($_POST['images']));
 
if(!empty($titulo) && !empty($endereco) && !empty($cep) && !empty($bairro) && !empty($cidade) && !empty($estado) && !empty($info) && !empty($images))
{
require_once '../classes/propriedades.php';
$us = new PDO("mysql:dbname=navarro7_usuarios;host=localhost", "navarro70", "Navarro0");
 
}
}
?>
 
// E tenho esse código PHP na página login.php com campos de email e senha.
 
<?php
 
 
if(isset($_POST['email'])){
 
$email = htmlentities(addslashes($_POST['email']));
$senha = htmlentities(addslashes($_POST['senha']));
if(!empty($email) && !empty($senha)){
require_once 'classes/usuarios.php';
$us = new Usuario("navarro7_usuarios", "localhost", "navarro70", "Navarro0");
if($us->entrar($email, $senha)){
echo '<script>window.location.href = "/pages-adm/meu-perfil.php"</script>';
}else{
echo "Email e/ou senha estão incorretos!";
}
}else{
echo "Preencha todos os campos!";
}
 
}
 
?>

 

Alguém pode me ajudar nesse caso quero que quando o usuario usa a pagina login colocando o email e senha ela vai para a pagina meu-perfil.php mais que eu consiga fazer aparecer o nome dele na pagina.

 

Share this post


Link to post
Share on other sites

Bem vamos lá!

 

1º Em caso de Sucesso durante a verificação de Login, você deverá colocar 

os dados do usuário em questão em $_SESSION para poder utiliza-los em

outras páginas.

 

EXEMPLO

<?php

# QUANDO VAMOS LIDAR COM SESSÕES, 
# TODA PÁGINA DEVE TER EM SEU 
# INICIO O SESSION_START ()
session_start ();

# SIMPLE CONN
$pdo = new PDO ( 'mysql:dbname=dbname;host=localhost', 'username', 'password' );

# ETAPA - LOGIN
$email = "example@example.com";
$senha = "senha123pao";

# VERIFICA NO BANCO
$step1 = $pdo->prepare ( 'SELECT * FROM usuarios WHERE email = ? AND senha = ?' );
$step1->bindValue ( 1, $email );
$step1->bindValue ( 2, $senha );
$step1->execute ();

# "RETORNA A CONSULTA"
$retorno_login = $step1->fetch ( PDO::FETCH_OBJ );

# VERIFICA SE FOI ENCONTRADO ALGO
# CASO CONTRARIO ENVIA O USUÁRIO
# A UMA PÀGINA DE ERRO
if ( $retorno_login !== false ) {

	# LOGIN EFETUADO!!!
	# INSERE OS DADOS EM $_SESSION
	$_SESSION [ 'idUsuario' ] = $retorno_login->idUsuario;
	$_SESSION [ 'nomeUsuario' ] = $retorno_login->nome;


	# AGORA ENVIA O USUARIO PARA A 
	# PÀGINA DE PERFIL
	header ( 'Location: meu_perfil.php' );


} else {

	# LOGIN NÂO EFETUADO!!!
	# ENVIA USUÁRIO A PÀGINA 
	# DE ERRO
	header ( 'Location: pagina_de_erro.php' );
}

Obs: Repare que a função header, ela é a responsável por "redirecionar" o 

usuário para uma página.

 

 

2 - Agora vamos apresentar os dados do "Usuário Logado" na página 

meu_perfil.php, para isso basta obtermos os dados da 

$_SESSION [ 'nomeUsuario' ]

 

EXEMPLO

<?php
	# IMPORTANTE
	session_start ();

	# EXIBE NOME DO USUÁRIO
	echo $_SESSION [ 'nomeUsuario' ];
	# QUEBRA LINHA
	echo "<br />";
	# EXIBE ID DO USUÁRIO
	echo $_SESSION [ 'idUsuario' ];

 

Share this post


Link to post
Share on other sites
# ETAPA - LOGIN
$email = "example@example.com";
$senha = "senha123pao";

Essa parte que não entendi jovem , preciso colocar esses valores nessas variáveis ou vai ser o que o usuário que vai digitar em seu dispositivo ?

Share this post


Link to post
Share on other sites
15 horas atrás, Vinicius-Visanfe disse:

# ETAPA - LOGIN
$email = "example@example.com";
$senha = "senha123pao";

Essa parte que não entendi jovem , preciso colocar esses valores nessas variáveis ou vai ser o que o usuário que vai digitar em seu dispositivo ?

O que o usuário vai digitar no seu formulário, ele botou estático só para demostrar...

Share this post


Link to post
Share on other sites
2 horas atrás, Gleyson Abreu disse:

O que o usuário vai digitar no seu formulário, ele botou estático só para demostrar...

Exato!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Pellegrini3834
      Ola galera do IMasters!!!!!!
       
      Estou com uma duvida eu tenho um CRUD em php MVC e queria saber em que camada fica as mensagens depois de uma realização de um evento por exemplo:
      Cadastro de Pessoa, depois de cadastrada quero que ele emita uma mensagem dizendo que a "PESSOA FOI CADASTRADA COM SUCESSO!!!!" e eu queria saber  em que parte ela fica se é no Controle ou na View porque sabemos que no modelo fica a parte referente a manipulação de dados.
      Obrigado.
    • By Henrique Augusto Rohloff
      Olá! Sou iniciante e estou treinando para configurar uma página de buscas de produtos em um banco de dados.
      Os produtos já estão sendo encontrados quando a palavra bate com os itens do banco. A conexão com o banco de dados está funcionando corretamente. Porém, quando nada é encontrado, queria que aparecesse uma mensagem "Nenhum resultado, tente novamente." Já tentei com  else de tudo que é jeito mas não aparece corretamente... Qual é o jeito certo?
       
      Segue o código:
       
       
    • By maruoppolo
      Olá, tenho 2 tabelas:
       
      tb_dados: ID - MUSICA
       
      tb_votos: ID - VOTO - RADIO - MUSICA
       
      Preciso fazer uma query que traga as musicas da tb_dados porém ordenando pelo número de votos que ela teve na tb_votos.
       
      Então assim, existem 2 tipos de voto 1 = like e 2 = dislike, cada ver que um usuário vota eu pego qual radio que ele esta ouvindo e salvo no campo radio, o id da musica na tb_dados e salvo no campo musica da tb_votos e coloco o número 1 para like e 2 para dislike no campo voto.
       
      A query precisa contar quantos likes teve na tv_votos filtrando por radio e mostrando os resultados em ordem decrescente as musicas com mais likes.
       
      A ideia é trazer as 10 musicas com mais like de cada radio
       
      Alguma ideia de como fazer?? Estou enroscado nisso a dias.
    • By Chester1
      oi, eu to tentando mexer com servidores agora no PHP e esta dando um erro muito estranho que quando eu procuro em um programa que acha erros de sintaxe ele me diz que o erro esta no </HTML>    se alguem puder me dizer qual foi o erro que eu cometi eu agradeceria
       

       
      <HTML> <HEAD><TITLE>incluindo no banco de dados</TITLE></HEAD> <body> <BODY bgcolor="#d0d0d0"> <center> <h3>Lanchonete coma bem (voltada para o internauta)</h3> <h1>24horas</h1> <?php $login_digitado=$_POST['login']; $senha=$_POST['senha']; $nome=$_POST['nome']; $email=$_POST['email']; $telefone=$_POST['telefone']; $celular=$_POST['celular']; $endereco=$_POST['endereco']; $complemento=$_POST['complemento']; if ($login_digitado == "" || $senha == "" || $nome =="" || $email == "" || $telefone == "" || $endereco == "" || $complemento == "") { echo "existem(m) campos(s) de preenchimento obrigatorio em branco,<BR> infelizmente tera que voltar para preenche-lo(s)."; echo "<BR><a href=\"cadastro.php\">clique aqui para tentar novamente</a>"; } else { { $link=mysql_connect("localhost", "root", "") or die ("<h1>nao foi possivel conectar !!!</h1> ".mysql_error());  
      obs :estou trabalhando com formularios e servidores
         
         
         
         
      ?>
      </BODY>
      </HTML>
    • By DavidPin94
      Boa tarde, estou tentando criar uma validação para saber se o usuário já está cadastrado no meu banco de dados para meu sistema ficar mais organizado, porém quando realizo o teste cadastrando um usuário já cadastrado, o cadastro ocorre sendo que não era para ocorrer
      <?php require_once("conexao.php");?> <?php if (isset($_POST['usuario'])) { $nome = utf8_decode($_POST['usuario']); $senha = utf8_decode($_POST['senha']); $inserir = "INSERT INTO cadastro "; $inserir .= "(usuario, senha) "; $inserir .= "VALUES "; $inserir .= "('$nome', '$senha')"; $query = "SELECT usuario FROM cadastro WHERE usuario = '$usuario' LIMIT 1"; $consulta = mysqli_query($conecta, $query); $query = "SELECT usuario FROM clientes WHERE usuario = '$usuario' LIMIT 1"; $consulta = mysqli_query($conecta, $query); if (mysqli_num_rows($consulta) < 1) { $operacao_inserir = mysqli_query($conecta, $inserir); if (! $operacao_inserir) { die("Erro no banco"); }else header("location: login.php"); }else{ die("Usuário existente!"); } } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Cadastrar novo usuário</title> <link rel="stylesheet" type="text/css" href="estilo.css"> </head> <body> <nav> <ul> <li><a href="inicial.php">PÁGINA INICIAL</a></li> <li><a href="quem_somos.php">QUEM SOMOS</a></li> </ul> </nav> <div id="cadastro"> <form method="post" action="cadastro.php"> <label>Digite seu nome de usuário</label> <input type="text" name="usuario" placeholder="Ex: Usuario123" required size="50" minlength="5" maxlength="20" autofocus><br> <label>Digite sua senha</label> <input type="password" name="senha" placeholder="Deve conter mais de 5 caracteres" required size="50" minlength="5" maxlength="20" autofocus><br> <input type="submit" value="Cadastrar" id="enviar" name="enviar"> </form> </div> </body> </html> ,  alguém poderia me ajudar?  Meu código:
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.