Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como registrar un voto con cookie ?

Estas en el tema de Como registrar un voto con cookie ? en el foro de PHP en Foros del Web. Hola amigos tengo una pagina que estoy probando y puedo agregar el ip pero quiero también ponerle un cookie pero no tengo idea. alguien sabe ...
  #1 (permalink)  
Antiguo 19/06/2016, 23:22
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Como registrar un voto con cookie ?

Hola amigos tengo una pagina que estoy probando y puedo agregar el ip pero quiero también ponerle un cookie pero no tengo idea. alguien sabe de donde puedo buscar información o como hacerlo.
Por favor no me den paginas que hablan de que es un cookie por que ya lo se necesito informacion como trabajar con el cookie como hacer que se grabe el cookie en su navegador y que lo reconozca y no lo deje votar otra vez por que tiene el cookie eso es lo que no encuentro.
Gracias
  #2 (permalink)  
Antiguo 20/06/2016, 04:12
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: Como registrar un voto con cookie ?

Te explico brevemente como se declaran cookies, como leearla y como eliminarlas.

Para crear una cookie se hace asi:

setcookie("nombre_cookie","valor_cookie",time()+(6 0*60*24*365),"/");
Primero declara como se llama la cookie, luego el valor de esta y a continuación el tiempo de validez que tendrá, en este caso, dura un año y el final, es donde actua, en este caso, al poner / lo hará en todo el sitio.

$_COOKIE['nombre_cookie']
Para leer el valor de la cookie.

Para eliminar una cookie, puedes usar una de estas dos opciones (yo uso las dos, para mas seguridad)

setcookie("nombre_cookie","",0,"/");
unset ($_COOKIE['nombre_cookie']);

¿te sirve con esto?
Saludos.
__________________
Somos una serie de acontecimiento que puede venir al caso en un momento dado.
  #3 (permalink)  
Antiguo 20/06/2016, 11:47
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: Como registrar un voto con cookie ?

Es mejor que nada quiero usarla para que el usuario solo vote una sola vez. sabes de algun lugar donde puedo informarme ?
Aparte Muchisimas gracias ya tengo un inicio de como es la cookie :D
  #4 (permalink)  
Antiguo 20/06/2016, 12:08
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 4 meses
Puntos: 20
Respuesta: Como registrar un voto con cookie ?

Hola amigo, y si ya puedes agregar la ip... porque no validas mediante ella?
Claro, se puede cambiar la ip y pueden volver a votar, pero... creo es mas "sencillo" que borren la cookie que cambiar la ip
Saludos!
  #5 (permalink)  
Antiguo 20/06/2016, 12:36
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: Como registrar un voto con cookie ?

Es bueno darle por los dos lados :)
Sabes cómo hacerlo ?
  #6 (permalink)  
Antiguo 20/06/2016, 12:44
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 4 meses
Puntos: 20
Respuesta: Como registrar un voto con cookie ?

Lo de la cookie te lo respondió gogupe , prácticamente te lo solucionó
Lo de la ip pues básicamente es consultar si existe o no en la BD
Saludos!
  #7 (permalink)  
Antiguo 20/06/2016, 14:48
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Como registrar un voto con cookie ?

Sólo los usuarios registrados pueden votar? De ser así, pues mejor almacena en una tabla todos los votos, incluyendo id del usuario y id del post.

Además, puedes añadirle fecha de expiración de la "restricción" de votar por el mismo post.
  #8 (permalink)  
Antiguo 20/06/2016, 15:51
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años
Puntos: 468
Respuesta: Como registrar un voto con cookie ?

Código PHP:
Ver original
  1. //al votar ejecutas:
  2. setcookie("voto", "positivo", time()+60*60*24*365);
  3.  
  4. //vemos si el usuario ha votado o no
  5. if(isset($_COOKIE["voto"])) {
  6.     echo "Ya has votado"; // o lo que quieras que salga si ya ha votado
  7. }
  8. else {
  9.     //muestras tu código para que pueda votar
  10. }
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #9 (permalink)  
Antiguo 21/06/2016, 08:04
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: Como registrar un voto con cookie ?

rodrypaladin Gracias

Que pena que solo se pueda evitar los votos repetido por la misma persona con una cookie que es muy fácil de borrar y ip.
No existira algun otro modo el IP de la maquina misma ?
yo hasta pensé en hacer uan foto al ojo para votar pero los humanos tenemos dos ojos
  #10 (permalink)  
Antiguo 21/06/2016, 09:38
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años
Puntos: 468
Respuesta: Como registrar un voto con cookie ?

Cita:
Iniciado por wilson_romero Ver Mensaje
rodrypaladin Gracias

Que pena que solo se pueda evitar los votos repetido por la misma persona con una cookie que es muy fácil de borrar y ip.
No existira algun otro modo el IP de la maquina misma ?
yo hasta pensé en hacer uan foto al ojo para votar pero los humanos tenemos dos ojos
Efectivamente trabajando con cookies, si el usuario las borra manualmente podrá volver a votar, pero no es algo que se suela hacer muy de seguido.

Algo más efectivo como ya has dicho sería que si una ip ya ha votado que no deje volver a votar, pero lamento decirte que por lo menos en España, prácticamente todo el mundo tiene ips dinámicas, a no ser que contrates una ip fija con tu operador de internet, lo cual suele venir con un coste adicional.

Algo que no fallaría sería que sólo las personas registradas pudieran votar, de esa forma solo tendrías que guardarlo en una tabla en tu base de datos, y estaría de forma permanente

Mi consejo es que si no se trata de una votación muy muy seria, usaras cookies, le añades un tiempo de expiración de por ejemplo 1 mes y es muy seguido que esa persona no podrá volver a votar eso mismo en un mes, pues sinceramente no creo que borre las cookies semanalmente
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #11 (permalink)  
Antiguo 21/06/2016, 21:53
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: Como registrar un voto con cookie ?

rodrypaladin ya tengo el sistema de ip eso lo hice de primero pero las ips dinámicas que hablas son las que se obtienen con programa ?

Algo curioso que veo es que la ip que atrapa mi servidor local no es el verdadero que veo en cuando ejecuto el comando en DOS msconfig y si entro a la página de de http://www.cual-es-mi-ip.net/ me dice otro pero me dice con geolocalisacion me disde donde vivo.
Pero esos ip ipv4 que aparecen en el DOS si existen y son único de cada pc se pueden poner dentro de una base de datos si existen creo que con java se puede hacer nada es imposible.
hablo de esto del dos no es el mismo ip que aparecen en la pagina.

esto es lo que aparece en mi base de datos ::1
  #12 (permalink)  
Antiguo 21/06/2016, 22:31
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Como registrar un voto con cookie ?

A ver. Esto ya difiere mucho de PHP.

Los servidores DNS son (creo) los que usa tu proveedor de servicio de internet, la ipv4 o ipv6 que te aparezca en el cmd, es tu dirección IP dentro del servidor local (tu módem), y la dirección que te aparece en la página web, es tu "nombre" en el internet mundial.

Dicho 'nombre', puede alterarse por vpn, no-ip, ip dinámica, etc.
Basta en un caso, reiniciar tu módem para obtener una ip diferente (truco muy viejo para seguir descargando en rapidshare )


Y volviendo al problema principal, no nos haz dicho si solamente usuarios registrados pueden votar. De ser así, es mejor crear una tabla donde almacenes su usuario y el post que votó.
  #13 (permalink)  
Antiguo 22/06/2016, 08:35
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: Como registrar un voto con cookie ?

rodocoyote15 me gustaría que todo el mundo pueda votar sin registrarse.
Pero porque en mi servidor local solo pone ::1 y no un numero de ip completo ?
  #14 (permalink)  
Antiguo 22/06/2016, 15:25
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Como registrar un voto con cookie ?

Obviamente el tema de las ip nada tiene que ver con php

Para que te hagas una idea, las ip's 192.168.xxx.xxx están reservadas como ip privadas, que son aquellas que se utilizan en redes LAN y algunos casos en redes MAN Y WAN privadas.

Por defecto cada equipo de la red debe tener por lo menos una IP asignada, para poder ser identificado por el resto de equipos de la red.

Los Router que montan las operadoras suelen estar configurados por defecto con la IP 193.168.1.1 ó 192.168.0.1 siendo esta la ip propia del Router hacia la LAN, aunque bien podrían ser otras, pero esto es asi por convención no por obligacion.

Los router son por decirlo de alguna forma un enlace entre 2 redes. Si hablamos de redes residenciales entre la red LAN de una casa y la red WAN del ISP que a su vez enrutara a la Internet.

Esto es así por muchos factores en cuyos detalles no entraré.

Por lo que la ip de tu Pc 192.168.1.x es la dirección con la que tu Router u otros equipos te identifican dentro de la LAN , pero cuando solicitas una WEB desde tu Pc, es realmente el router el realiza la petición con la ip PÚBLICA de la WAN. Nunca con la ip privada. Si hay 5 equipos conectados a tu router, todos tendrán la misma IP PÚBLICA la de tu Router, pero diferentes ip's PRIVADAS.
__________________
Unset($vida['malRollo']);

Etiquetas: cookie
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 23:25.