Ir para conteúdo

Arquivado

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

renkel

Ocultar página para usuários logados?

Recommended Posts

Olá.

 

Estou criando um site de paquera onde usuários se cadastram. Até ai tudo bem, porém, depois que eles logam ainda tem acesso a página inicial o que eu gostaria que não acontecesse.

 

Para evitar isto, já escondi o menu "HOME", porém, se de alguma forma acessarem a página inicial através do navegador é possível. O que eu queria é que ao acessar esta página após logado, fossem redirecionados para o perfil do usuário ativo. tentei este código no functions.php, o problema é que ele redireciona todas as páginas e não apenas a página inicial:

add_action('wp', function() {
  $url = home_url('profile/'); // profile url here
  if(is_user_logged_in()){
    if(is_front_page() || is_home()){
      wp_redirect($url);
      exit;
    }
  }
});

Onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente:

if ( is_user_logged_in() ) {
  header('Location: perfil.php');
} else {
  header('Location: cadastro.php');
};

O Header vai ser o responsável por redirecionar o seu usuário para a página específica se a função "is_user_logged_in()" estiver como True ou False.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito grato pela atenção amigo Henrique. Porém, não deu certo. Agora redireciona para páginas que não são encontradas. Lembrando que é um site em Wordpress. Aguardo ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Renkel,

Pra testar se sua função is_user_logged_in está funcionando, faça o mesmo teste, mas ao invés do .php, refira uma url estática.

if ( is_user_logged_in() ) {
   header('Location: http://seusite.com.br/perfil');
} else {
   header('Location: http://seusite.com.br/');
}

Se funcionar, avise aqui novamente e vamos rever o que tem de errado no seu arquivo functions.php e como ele está sendo chamado.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Henrique.

 

Após colocar o código da forma que relatou acima, dá a mensagem "Redirecionamento incorreto".

 

Se quiser lhe envio meu functions.php ou lhe dou acesso ao painel do meu site, pois realmente não estou conseguindo resolver este problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Renkel,

Não posso acessar o seu painel e fazer esse tipo de trabalho (já que tempo é dinheiro), o máximo que posso fazer é tentar auxilia-lo de alguma maneira.

Lembrando que o código da sua functions.php está assim:

add_action('wp', function() {
  $url = home_url('profile/');
  if(is_user_logged_in()){
    if(is_front_page() || is_home()){
      wp_redirect($url);
      exit;
    }
  }
});

Veja a variável $URL... A página em questão que o usuário deve ser redirecionado é exatamente a que está descrita entre parêntesis (profile/)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por magegamer07
      Galera, estou a muito tempo pesquisando como remover isso do resultado final do meu site 
       
      <dl class="variation">Início: 17 de julho de 2020</dl>
      Eu apenas gostaria que ele me retornasse o seguinte valor
      Início: 17 de julho de 2020
       
      É uma função que estou tentando fazer no wordpress junto ao woocommce para que na hora de clicar em finalizar compra, ele me redirecione ao WhatsApp com os itens do meu carrinho,
      Tudo vai bem, com exceção desse bendito <dl class..
      tem como ocultar isso?
       
      Quando a mensagem chega no whats, ela vem da forma que mostrei a cima com o DL
       
      Estou fazendo isso dentro de /public_html/wp-content/plugins/woocommerce/templates/order/order-details.php
       
      Tenho pouco conhecimento em php, por favor me ajudem 
       
      GRATIDÃO!
       
       
    • Por Rafael Freitas
      Boa noite galera!
       
      Estou precisando de uma força, seguinte:
      Eu tenho um sisteminha de login e senha funcionando normalmente. Porém, a página que seria "restrita somente à usuários logado" está acessível para qualquer um, se esse tentar acessar pela url.
       
      Como faço pra restringir aquela página somente para quem estiver logado. Caso não esteja, direcionar para a página de login novamente.
       
      Segue o código:
      <?php session_start(); //Incluindo a conexão com banco de dados include_once("conexao.php"); //O campo usuário e senha preenchido entra no if para validar if((isset($_POST['email'])) && (isset($_POST['senha']))){ $usuario = mysqli_real_escape_string($conn, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection $senha = mysqli_real_escape_string($conn, $_POST['senha']); $senha = md5($senha); //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário $result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $resultado = mysqli_fetch_assoc($resultado_usuario); //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário if(isset($resultado)){ $_SESSION['usuarioId'] = $resultado['id']; $_SESSION['usuarioNome'] = $resultado['nome']; $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id']; $_SESSION['usuarioEmail'] = $resultado['email']; if($_SESSION['usuarioNiveisAcessoId'] == "1"){ header("Location: administrativo.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){ header("Location: colaborador.php"); }else{ header("Location: cliente.php"); } //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário //redireciona o usuario para a página de login }else{ //Váriavel global recebendo a mensagem de erro $_SESSION['loginErro'] = "Usuário ou senha Inválido"; header("Location: index.php"); } //O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: index.php"); } ?> Ainda estou começando no PHP,  quem puder dar uma força, agradeço! =)
       
      Abraço.
    • Por Rodrigokyo
      Pessoal tenho uma duvida , tipo  tenho uma tabela que exibe 10 resultados de noticias,   como faço para nao exibir as duas ultimas noticias ?  eu nao quero exibir as duas ultimas noticias pois elas estao em destaque em uma outra pagina.  
    • Por willkey
      Olá!
      Estou com dificuldade em exibir/ocultar um conteúdo de uma Div que "está" dentro de outra Div.

      No exemplo em anexo, existe duas "chamadas principais": "GOLEIROS" e "EQUIPES".
      Ao clicar em "GOLEIROS" é exibida uma tabela simples referente a goleiros.
      Ao clicar em "EQUIPES" é exibida duas "chamadas secundárias": "ATLETICO" e "BARCELONA".
      Ao clicar em "ATLETICO" ou "BARCELONA" é exibido o conteúdo específico de cada uma, porém, o meu problema surge aí, se clico em "ATLETICO" as informações referente a essa opção não abrem abaixo dela, tanto "ATLETICO" e "BARCELONA" somem e dão lugar a informação e só voltam a ser exibidas se eu clicar na chamada principal "EQUIPES", gostaria de resolver isso fazendo que "ATLETICO" e "BARCELONA" continuem lado a lado quando abrir as informações de uma delas.

      No exemplo são duas equipes, mas o objetivo é colocar 12 equipes e quando clicar no nome/escudo aparecer todo o elenco igual mostra na pagina: http://www.cpshowdebola.com.br/multimidia

      Provavelmente é coisa simples, mas não estou conseguindo resolver se é no html ou no script, já procurei outras dicas e tutoriais, mas não obtive sucesso.

      OBS.: Não tem nada em CSS. Tentei inserir o anexo, mas deu erro.
      <!--MENU ESTATISTICA--><center> <table border="2" cellspacing="5" cellpadding="5"> <tbody> <tr> <td><aa style="cursor: pointer;" onclick="mostra('goleiros');">GOLEIROS</aa></td> <td><aa style="cursor: pointer;" onclick="mostra('equipes');">EQUIPES</aa></td> </tr> </tbody> </table> <p></p> <!--GOLEIROS--> <div id="goleiros" style="display: none;"> <table border="2" frame="hsides" rules="rows" cellpadding="3" align="center"> <tbody> <tr align="center"> <td colspan="6"><span style="font-family: 'trebuchet ms', geneva, sans-serif; font-size: 12pt;"><strong>GOLEIRO MENOS VAZADO</strong></span></td> </tr> <tr align="center"> <td><span style="font-family: 'trebuchet ms', geneva, sans-serif; font-size: 12pt;">EQUIPE</span></td> </tr> </tbody> </table> </div> <!--EQUIPES--> <div id="equipes" style="display: none;"> <table border="2" cellspacing="2" cellpadding="2"> <tbody> <tr> <td><aa style="cursor: pointer;" onclick="mostra('amadrid');">ATLETICO</aa></td> <td><aa style="cursor: pointer;" onclick="mostra('barcelona');">BARCELONA</aa></td> </tr> </tbody> </table> </div> <!--ATLETICO--> <div id="amadrid" style="display: none;"> <table border="2" cellspacing="5" cellpadding="5"> <tbody> <tr> <td style="text-align: center; width: 155px;">ATLETICO<br /> <span style="font-size: 8pt;"><strong><span style="font-family: verdana, geneva, sans-serif;"> <span style="font-size: 8pt;"><strong><span style="font-family: verdana, geneva, sans-serif;"><span style="font-family: 'trebuchet ms', geneva, sans-serif;">Jogador 1</span> </span></strong></span><br /> <span style="font-size: 8pt; font-family: 'trebuchet ms', geneva, sans-serif;"><strong>Comiss&atilde;o T&eacute;cnica</strong></span></td> </tr> </tbody> </table> </div> <!--BARCELONA--> <div id="barcelona" style="display: none;"> <table border="2" cellspacing="5" cellpadding="5"> <tbody> <tr> <td style="text-align: center; width: 155px;">BARCELONA<br /> <span style="font-size: 8pt;"><strong><span style="font-family: verdana, geneva, sans-serif;"> <span style="font-size: 8pt;"><strong><span style="font-family: verdana, geneva, sans-serif;"><span style="font-family: 'trebuchet ms', geneva, sans-serif;">Jogador 1</span> </span></strong></span><br /> <span style="font-size: 8pt; font-family: 'trebuchet ms', geneva, sans-serif;"><strong>Comiss&atilde;o T&eacute;cnica</strong></span></td> </tr> </tbody> </table> </div> <!--SCRIPT--> <script type="text/javascript">// <![CDATA[ function mostra(theId){ var theArray= new Array('goleiros','equipes','amadrid','barcelona'); w=document.getElementById(theId) if(w.style.display=="block"){w.style.display='none';}else{ for(i=0; i<theArray.length; i++){ if(theArray[i] == theId){ w.style.display='block'; }else{ document.getElementById(theArray[i]).style.display='none'; } } } } // ]]></script> </center>  
    • Por Lúcio Marques
      Olá, bom dia.
      Alguém pode me dar uma força neste para esta função.
      Tenho uma tabela que mostra 50 linhas de cadastro, com isso gostaria que mostrasse 25 linhas e logo abaixo haveria um botão "abrir mais" para mostrar os restantes de linhas.
      Vi isso em algum site, e achei bem bacana.
       
      Agradeço desde já.
×

Informação importante

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