Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Ocultar enlaces o links a usuarios no registrados

Vamos a ver un ejemplo muy sencillo de como ocultar los enlaces de nuestros post a usuarios no registrados obligando a iniciar sesión para poder verlos y en caso de que no tengan cuenta en nuestro sitio tengan que crear una nueva.

Usaremos un poco de css, jquery y php ahora vamos al ejemplo, imaginemos que la div que contiene el contenido de nuestros post se llama content
<div class="content">
Contenido del post...
<br><br>
<strong>Enlaces:</strong>
<br><br>
<a href="https://www.youtube.com/">Esto es un enlace 1</a>
<br>
<br>
<a href="https://www.youtube.com/">Esto es un enlace 2</a>

</div>
como vemos en el ejemplo la div que contiene el post tiene el formato <div class="content"></div>

ahora vamos a hacer que los links que se encuentran dentro pasen a tener un mensaje que diga "Para ver este contenido oculto Inicia sesión" en caso de la sesión NO este iniciada
<?php //Si la variable de sesión no esta seteada metemos un script para que cambie el css y el html ?>
<?php if (!isset($_SESSION['iduser'])){?>
<script type="text/javascript">
$('.content a').html('Para ver este contenido oculto Inicia sesi\u00f3n');
$('.content a').css({
      "background": "#f3e3e6",
      "border": "1px solid #e599aa",
      "pointer-events": "none",
      "text-decoration": "none",
      "cursor": "default",
      "padding": "8px"
    });
</script>
<?php }?>
con esto conseguimos que todos los links que se encuentran dentro de la div class content no sean visibles para los usuarios que no tienen una sesión iniciada en nuestra pagina web

Ahora ejemplo completo:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<div class="content">
Contenido del post...
<br><br>
<strong>Enlaces:</strong>
<br><br>
<a href="https://www.youtube.com/">Esto es un enlace 1</a>
<br>
<br>
<a href="https://www.youtube.com/">Esto es un enlace 2</a>

</div>
<?php if (!isset($_SESSION['iduser'])){ //Si la variable de sesión no esta seteada metemos un script para que cambie el css?>
<script type="text/javascript">
$('.content a').html('Para ver este contenido oculto Inicia sesi\u00f3n');
$('.content a').css({
      "background": "#f3e3e6",
      "border": "1px solid #e599aa",
      "pointer-events": "none",
      "text-decoration": "none",
      "cursor": "default",
      "padding": "8px"
    });
</script>
<?php }?>
10
Puntos
3127
Visitas
1
Resp
Por alber hace 115 meses
Administrador
Respuesta #1
Me parece familiar.. Jajaja.

Bien trabajado el método usando javascript para reemplazar el enlace. Gracias alber.
5
Puntos
Por Jose hace 115 meses
Experto Sitio web
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate