BLOG DE DISEÑO WEB CORUÑA

Un poco de todo, recursos, tutoriales, noticias, anuncios...

Desbloquear contenido a cambio de un tweet con PHP y Ajax

07/JUN/2013 6.895 visitas Ver comentarios
Desbloquear contenido a cambio de un tweet con PHP y Ajax

ADVERTENCIA: Este artículo tiene más de 6 meses de antigüedad. Puede que esta información ya se encuentre obsoleta o haya nuevas y mejores opciones.

Tener un blog de relativo éxito o fama siempre es un placer. A menudo recibo muchos comentarios y correos agradeciéndome los aportes o ayuda brindada y es una gran satisfacción.

Por el otro lado, nos encontramos con la ardua tarea de dar difusión a estos aportes, códigos, scripts o como quieras llamarlos y esa, seguramente, es la tarea más difícil de todas.

Hablo de mi caso, pero seguramente te habrá pasado de querer dar algo a la comunidad de desarrolladores (odio que le digan mundillo web) o a la que sea y querer recibir a cambio, al menos, un simple tweet o me gusta... en definitiva, algo que te ayude a que tu solución o aporte llegue a más gente.

No lo voy a implementar en este blog... el copy paste seguirá siendo libre y gratuito, pero, basándome en un blog en inglés del que, como buen imbécil que soy, no me quedé con la dirección, tomé la idea y preparé un minicódigo para cobrar un tweet para ver contenido oculto en nuestra web.

Es una forma de decir, vale, yo te dejo descargar lo que vienes a buscar pero a cambio ayúdame a difundir este aporte con un simple tweet, que lleva 10 segundos o menos y no te costará nada.

Pero bueno, que no vienes aquí a leerme a mi sino a ver el código... éste, básicamente se separa en 3 partes:

  • El divisor que contiene el botón para hacer el tweet (el cual mostrará el contenido oculto una vez realizado el tweet).
  • Un poco de Ajax aprovechándonos de los scripts que pone a nuestra disposición Twitter
  • Un PHP corriendo por atrás que se ejecutará cuando Twitter nos devuelva un confirmado y que comprobará que efectivamente los datos recibidos son los procesados por la web (para evitar la descarga directa).

Con estas cositas, lo que haremos será que el usuario tenga que hacer un tweet, luego llamaremos mediante Ajax a un PHP que comprobará unas variables y, si son correctas, mostrará el texto, enlace o lo que fuera que quisieras proteger.

Si miras la demo, no dejes de compartir la entrada, realizar el tweet y descubrirás la pólvora, you know!

Código 1 - HTML
<div id="respuesta">
<h1>Probando a desbloquear contenido mediante un tweet</h1>
<p><a href="https://twitter.com/share" class="twitter-share-button" data-via="martinigleu" data-lang="es" data-size="large" data-dnt="true" data-text="Desbloquear contenido mediante un tweet / Unlock hidden content with a tweet http://www.macadia.es/blog">Tuitea</a></p>
</div>
Código 2 - HTML
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script>
<script type="text/javascript">
twttr.ready(function (twttr)
{
twttr.events.bind('tweet', function(event)
{
var datos = {id_sesion : '<?php echo base64_encode($_SESSION["id_usuario"]); ?>'};
$.post("check.php", datos, function(msg)
{
$('#respuesta').html(msg);
});
});
});
</script>
Código 3 - PHP
/* FICHERO CHECK.PHP */
<?php
session_start();
if (isset($_POST["id_sesion"]) && base64_decode($_POST["id_sesion"])===$_SESSION["id_usuario"])
{
echo "¡Bien! Has descubierto la pólvora... :)";
}
else
{
echo "¡Mal... muy mal! No te puedo dar acceso...";
}
?>

Acerca del Autor...

Macadia, es una agencia de Diseño Web Coruña, especializada en maquetación css y desarrollo de páginas web a medida con más de 22 años de experiencia en el desarrollo de páginas web profesionales. Si te ha gustado este artículo, por favor, ayúdanos a difundirlo compartiéndolo con tus amigos y contactos en las distintas redes sociales que utilices. ¡Muchas gracias!

Los comentarios han sido desactivados momentaneamente a la espera de que Disqus adapte su plataforma a la próxima RGPD que entra en vigor desde el 25/05/2018