Ir para conteúdo

POWERED BY:

Arquivado

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

vazzoler

Como criar uma página que só pode ser acessada com o usuário logado

Recommended Posts

Galera, sou novato em php e estou criando um site com uma área restrita com login e senha.Consegui fazer toda a criação inicial e está logando direitinho, porém estou com a seguinte situação: Tenho na pagina index, 2 links, um chamado download e outro comprar. Quando clicar em Download, abre a pagina para fazer os downloads e quando clicar em comprar abre uma outra pagina para efetuar a compra do Produto, porém, para chegar nas paginas comprar.php e download.php é necessário estar logado, caso o usuário não esteja logado no site, ele será direcionado para a página login.php e logo após efetuar o login, tem que ser direcionado para a página que ele clicou inicialmente. Não estou conseguindo fazer isto, alguém pode me dar uma força?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não consegue fazer o que? voltar a página?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo: Cliquei em Downloads, se não está logado, vai para página de Login, assim que efetuei o Login já é redirecionado para a página de Downloads.

Compartilhar este post


Link para o post
Compartilhar em outros sites

crio na 2 tabela no banco de dados? exemplo usuario com nível 1 não poderá acessar a página, e com o nível 2 no caso registrado poderá acessar as páginas

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc tem duas sessions provavelmente, então vc tem q criar uma condiçao com elas, assim:

 

if(!isset($_SESSION['login']) && !isset($_SESSION['senha'])):
		header("Location: index.php");	
endif;

se não existir a session login nem senha, ele vai redirecionar pra sua page index.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não consegui me expressar muito bem na minha dúvida. Em relação a parte de login, está tudo ok. O meu problema é o seguinte: Supondo que o usuário não está logado e clicou no link Downloads. Antes de conseguir chegar ná pagina de Downloads, terá que passar para a tela de login para daí ser direcionado para a pagina de downloads. A minha dúvida é: Como vou redirecionar ele da pagina de login para a de downloads?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagina a seguinte situação:

 

Tenho 4 páginas: Index.php, Login.php, Download.php e Comprar.php

 

- Index.php - 2 links - Comprar e Download

- Cliquei no link Download ou Comprar

- Antes de chegar nestas duas páginas é necessário que o usuário esteja logado, ou seja, ele é direcionado para a página de login.

- Após efetuar o login, quando ele clicar no ENTRAR na página de login, ele é direcionado para a página que ele escolheu no index, Download.php ou Comprar.php

 

Minha dificuldade é saber qual o link que ele clicou no index (comprar ou download) para assim encaminha-lo para ela após clicar no ENTRAR na página de login.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se vou ajudar mas não tem como abrir uma pagina tipo em ajax para o logim daí quando ele logar o ajax fecha e ele continua na mesma pagina, posso estar errado mas foi essa logica que imaginei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola boa noite amigo acho que posso de ajudar

 

to criando meu primeiro sistema no meu caso eu fiz uma pagina verifica_usuario.php

 

<?php 
        session_start();
        include 'conexao.php';
       
        if(isset($_SESSION['usuario_liberado']) and isset($_SESSION['senha_liberada']))
        {
        
            $status_user = "liberado";
            
        }
        else
        {
            header("location:login.php");
        }
?>

no raso de retornar para a pagina vc pode passar parâmetros por url

 

usar um switch/case para redirecionar

 

por exemplo

url:=  login.php?redireciona=downloads

<?php
     
#isso na pagina login.php

     $redirecionar = $_GET['redireciona'];

#vc pode enviar essa var pelo campo hidden do seu form login

#isso na sua pagina que vai depois do login

 switch($redirecionar){
		 
		 default;
                 echo "Nao faz nada";
		 break;
		 
		 case 'dowloads';
		 header ("location:downloads.php");
		 break;
		 
		 case 'comprar';
		 header ("locarion:comprar.php");
		 break;          
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelo força Wellington, o problema é que quando passo o action do meu form, passo da seguinte forma: login.php?acao=logar, é aí que complica na hora de passar a variavel pela url

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais da pra passar mais parâmetros por método get

 

e so fazer simm

 

(login.php?acao=logar&redireciona=downlaods)

 

ou como eu disse por um campo hidden no seu form login

<input type="hidden" name="redirecionar" value="<?php $_GET['redireciona']?>" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

A maneira que o Wellington citou provavelmente funcionaria, vou mostrar como eu faria (não vou escrever código abaixo do que não é relevante para resolver o problema)

 

Explicando: Usuário clicou sobre o botão comprar sem estar logado, então foi redirecionado a página login.php

 

Na página em que ele clicou no link "comprar" foi enviado através do parâmetro GET o valor (comprar) ou o valor (download) caso o usuário tivesse clicado sobre o link downloads.

 

Página login.php:

 

if(isset($_POST['logar'])){

 

Inicia-se a sessão logando o usuário

 

Recupera-se o valor "comprar" ou "downloads" enviado via parametro GET

 

Faz-se uma condição para checar se o valor recebido anteriormente foi comprar ou downloads

 

se for comprar, envia para página de compra se for downloads header location para a página de downloads.

}

 

 

"Campo login"

"Campo Senha"

"Botão enviar" (NAME logar)

 

 

 

Escrevi a lógica do sistema e não códigos pois imagino que saiba como codificar isto.

 

Também estou iniciando no PHP por isto não sei se está correto e se funcionaria no seu caso, mas fiz alguns testes por aqui adaptando a minha situação e funcionou sem problemas.

 

Forte abraço!

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.