Ir ao conteúdo
  • Cadastre-se
Macunaíma

Páginas para usuário

Recommended Posts

Olá pessoal, depois que um usuário efetuou o login em uma loja virtual, links como SAIR e CARRINHO deverão aparecer no menu. Eu tenho que criar novas páginas idênticas as outras, apenas com a adição desses links ou existe outra forma desses links aparecerem lá?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não ... não precisa criar paginas identicas. 

 

crie um arquivo php...  só com seu cabeçalho.( junto com os links e o carrinho)    e use um include depois.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo, tenho meu site:( www.meusite.com.br ) no arquivo home.php. Depois que um usuário efetuou o login, ele seria redirecionado ao mesmo home.php( www.meusite.com.br ) sem precisar por exemplo fazer um arquivo home_usuário.php contendo os links que quero. Não dá pra escrever um código apenas para adicionar os links no menu do arqruivo home.php após o login?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá sim.  vou explicar em detalhes:

 

Vamos supor que antes de logar no sistema, a pagina que você está acessando é:  index.php  Nele possui o formulário de login com usuário e senha.  este formulário vai mandar os dados para um arquivo php que vai validar:

 

validaUsuario.php

<?phpsession_start();		$login = $_POST["usuario"];	$senha = $_POST["senha"];	$login_escape = addslashes($login);	$senha_escape = addslashes($senha);			if (empty($login) or empty($senha)):          echo "<script>                   alert('Preencha todos os campos');                   history.go(-1);                </script>";           exit;            endif;			include '../conexao/conexao.php';		$sql = "SELECT idAdmin, login, senha, ultimoacesso FROM admin WHERE login ='$login_escape' AND senha = '$senha_escape' ";	$dados = mysqli_query($sql, $conexao);	$num = mysqli_num_rows($dados);		if ($num == 0):		echo "<script>		        alert('Usuario ou senha Incorreta');			history.go(-1);		      </script>";		exit;	else :				while($admin = mysqli_fetch_object($dados)):			$coduser = $admin->idAdmin;			$ultimoacesso = $admin->ultimoacesso; 			        $_SESSION["codusuario"] = $coduser;		        $_SESSION["login"] = $login;		        $_SESSION['ultimoacesso'] = $ultimoacesso;			header ("Location: view/home.php");		endwhile;		endif;	// mysql_free_result($dados); 	 mysqli_close($conecta);
Linha 2, Abre a sessão
Linhas 4 e 5, atribui os dados em variáveis
Linhas 6 e 7, atribui uma função que adiciona contrabarra para evitar  caracteres maliciosos.
Linhas 10 a 16, verificação de campo vazio
Linha 19,  inclui o arquivo de conexao.
Linhas 21 a 23 consulta no banco, executa a consulta e atribui a quantidade de linhas retornadas na consulta.
Linhas 25 a 30, verifica se o número de linhas for igual a zero. se sim, apresenta mensagem de erro.
Linhas 33 a 42, atribui o ID do usuário em uma variável, o horario e data do ultimo acesso, em seguida atribui em variáveis de sessão os valores...  por fim redireciona para a página pós login bem sucedido.
 
Agora vem a parte que tens dúvidas.
home.php
 

<?php session_start();	setcookie("ck_authorized", "true", 0, "/");	date_default_timezone_set("Brazil/East");		if(!isset($_SESSION["login"])):		header("location: ../index.php"); 	else:		$login = $_SESSION["login"];			$ultimo = $_SESSION['ultimoacesso'];		$idAdmin = $_SESSION["codusuario"];	endif;		require '../../conexao/conexao.php';		require '../includes/functions.php';		$data = date('Y-m-d H:i:s'); 		$sqldata = "UPDATE admin SET ultimoacesso= '$data' WHERE idAdmin='$idAdmin'";		$dados = mysqli_query($sqldata);	?><html>  //.... continuação do código html  <body>   <header> <?php include 'info.php';</header>//... mais elementos html...

Linha 2, seta o cookie.
Linha 4, seta o timezone
Linhas 6 a 12, verifica se existe valor na sessão. senão volta para o index.php
 
O resto ali não vou entrar em detalhes.
 
Linha 26, você inclui o arquivo php que contem a informação do usuario e links.

 

info.php

<?php     $partes = explode(" ", $ultimo);    $data = explode("-", $partes[0]);    $data = $data[2] . "/" . $data[1] . "/" . $data[0];    $ultimo = $data . " " .$partes[1];?><section class="user">		<ul>		    <li>bem-vindo, <span><?php echo $login;?></span></li>		    <li>Seu último acesso foi: <?php echo $ultimo;?></li>		    <li><?php include '../includes/data.php';?></li>		</ul>		<section class="logout">			<a href="../logout.php"><img alt="sair" title="Sair" src="../img/logout.png"></a>		</section></section>
Linhas 3 a 6, cria a data do ultimo acesso.
Linhas 10 a 19, elemento section.
Linha 17, Link de logout. chamando o logou.php
 
Por fim,  o logout.php

<?php	session_start();		require '../conexao/conexao.php';	$idAdmin = $_SESSION["codusuario"];		$_SESSION = array();		if(session_destroy()):	$data = date('Y-m-d');  	//$hora = date('H:i:s'); 	$log = "INSERT logs(idAdmin, idAcao, data, hora) values($idAdmin, '2', '$data', curtime())";	$dados = mysqli_query($log, $conexao);endif;		header("location: ../admin/index.php");?>	

Linha 5, resgata a variável de sessão e atribui a uma variável.
Linha 7, Cria um array vazio e joga na sessão.
Linhas 10 a 15,  verifica se a sessão for destruida, ele vai inserir no banco de dados a ação de logout e voltará para a página index.
 
Desculpe o post massivo.. mas expliquei detalhadamente como funciona.
 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×