Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Publicar un tweet y que se añadan puntos

Estas en el tema de Publicar un tweet y que se añadan puntos en el foro de PHP en Foros del Web. Hola buenas, Tengo una problema que no consigo terminar y me hace bastante falta, en mi web hay un sistema de puntos que van ganando ...
  #1 (permalink)  
Antiguo 16/10/2014, 08:56
 
Fecha de Ingreso: agosto-2013
Mensajes: 27
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Publicar un tweet y que se añadan puntos

Hola buenas,

Tengo una problema que no consigo terminar y me hace bastante falta, en mi web hay un sistema de puntos que van ganando los usuarios, por lo tanto tengo un campo llamado "puntos".

Me gustaria poner en mi web un boton de twitter con el cual al pulsarlo te rediriga a twitter con un mensaje por defecto puesto por mi, p.ej: Registrate en mi web que es genial #miweb
Y una vez que el usuario haya twitteado eso, que los puntos se sumen a su cuenta...

Nose si es algo imposible, o hay algun script que me lo arregle, pero he buscado en la api de twitter y no consigo hacerlo.
Me pierdo con estas cosas.

Espero que alguien tenga la solucion, saludos y gracias de antemano!!
  #2 (permalink)  
Antiguo 16/10/2014, 09:08
Avatar de garciasanchezdani  
Fecha de Ingreso: noviembre-2011
Mensajes: 429
Antigüedad: 13 años, 1 mes
Puntos: 51
Respuesta: Publicar un tweet y que se añadan puntos

Hola @Drop4 , no tengo mucha experiencia con la API de Twitter, pero he echado un vistazo para tratar de ayudarte, y creo que lo que buscas es esto: https://dev.twitter.com/web/javascript/events
Busca ahí el evento tweet, que tiene este código:

Código Javascript:
Ver original
  1. twttr.events.bind(
  2.   'tweet',
  3.   function (event) {
  4.     // Do something there
  5.   }
  6. );

"This event will be triggered when the user publishes a Tweet (either new, or a reply) through the Tweet Web Intent."
Básicamente agregas el evento (código Javascript, porque es en lado del cliente) para escuchar cuándo un usuario publica un tweet, ya sea nuevo o una respuesta.

Una vez que recoges ese evento, podrías hacer una petición asíncrona (por ajax por ejemplo) a la base de datos, para insertar los puntos.

Saludos y espero que te ayude :)
__________________
Diseño Web Jaén
  #3 (permalink)  
Antiguo 16/10/2014, 09:12
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 6 meses
Puntos: 181
Respuesta: Publicar un tweet y que se añadan puntos

Yo tampoco soy experto en la Api de twitter pero con la ayuda que te ha dado garciasanchezdani lo que yo haria seria utilizar un match de javascript para encontrar si el usuario ha colocado el hashtag con el nombre de tu web al realizar el twitter. Una vez que lo detecte ahi si ya te tocaria mandar dicho valor (podria ser con ajax al archivo php que procese dicho dato a la base de datos). Como un usuario puede mandar que se yo 20 mensajes simplemente con una consulta mysql se cuentan cuantos tweets ha enviado el usuario.

Así es como se me ocurre a mi.

p.s. Igual para que tu usuario no sea tan vivo de mandar mil tweets al día y quebrarte la base de datos propongo que cuando se inserte los datos a la base se cree con una marca de tiempo. De esa forma si vuelve a intentar a mandar un tweet el mismo día el aplicativo no lo permita, no lo digo solamente por los usuarios "buenos" sino por aquellos que busquen fallos de seguridad y puedan llegar a dañar tu base de datos.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 16/10/2014 a las 10:18
  #4 (permalink)  
Antiguo 17/10/2014, 04:29
 
Fecha de Ingreso: agosto-2013
Mensajes: 27
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Publicar un tweet y que se añadan puntos

Gracias @garciasanchezdani y @cuasatar por contestar, no era eso exactamente lo que buscaba pero desde el link que me has puesto he llegado a unos botones que trae twitter ya listos para que tu lo coloques en tu pagina tocando dos tonterias..

El codigo es este

Código:
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://myweb" data-text="Registrate en myweb" data-via="nombre" data-size="large" data-hashtags="tweetdeloquequieras">Tweet</a>

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
Hasta ahi bien, lo que de verdad me importa es que al twitear eso el usuario, se sumen por ejemplo 50 puntos a su cuenta.

El problema esque nose como hacerlo en php.
Se que ya es mucho pedir, pero estoy haciendo un curso de php y aun me lio mucho a la hora de unir php y mysql.

Resumen para aclara:
Tengo el codigo en javascript del boton de twitter y me gustaria que al pulsarlo el usuario y comprobar que ha twiteado eso, automaticamente se le sumen 50 puntos a su campo "puntos" en la base de datos.

Saludos, siento las molestias y mil gracias por todo
  #5 (permalink)  
Antiguo 17/10/2014, 05:39
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 6 meses
Puntos: 14
Respuesta: Publicar un tweet y que se añadan puntos

La parte de php básica podría ser esta
Código PHP:
Ver original
  1. <?php
  2.     $conexion = mysql_connect("servidor(normalmente localhost)", "usuario","contraseña");
  3.     mysql_select_db("nombre_de_tu_base_de_datos", $conexion);
  4.     if(isset($_POST['usuario']){
  5.         $usuario = $_POST['usuario'];
  6.         mysql_query("UPDATE tu_tabla SET puntos=puntos+50 WHERE usuario = '$usuario'");
  7.         if(mysql_errno() == 0){
  8.             echo "correcto";
  9.         }else{
  10.             echo "error";
  11.    
  12.         }
  13.     }
  14.    
  15. ?>

Para pasarle el valor lo puedes hacer con AJAX. Del resto no tengo conocimientos ni tiempo para ayudarte.
Un saludo
  #6 (permalink)  
Antiguo 17/10/2014, 07:48
 
Fecha de Ingreso: agosto-2013
Mensajes: 27
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Publicar un tweet y que se añadan puntos

Cita:
Iniciado por javierflti Ver Mensaje
La parte de php básica podría ser esta
Código PHP:
Ver original
  1. <?php
  2.     $conexion = mysql_connect("servidor(normalmente localhost)", "usuario","contraseña");
  3.     mysql_select_db("nombre_de_tu_base_de_datos", $conexion);
  4.     if(isset($_POST['usuario']){
  5.         $usuario = $_POST['usuario'];
  6.         mysql_query("UPDATE tu_tabla SET puntos=puntos+50 WHERE usuario = '$usuario'");
  7.         if(mysql_errno() == 0){
  8.             echo "correcto";
  9.         }else{
  10.             echo "error";
  11.    
  12.         }
  13.     }
  14.    
  15. ?>

Para pasarle el valor lo puedes hacer con AJAX. Del resto no tengo conocimientos ni tiempo para ayudarte.
Un saludo
Muchas gracias!!, era eso exactamente lo que me hacia falta, saludos y buen foro!!

Etiquetas: api, redireccion, tweet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:17.