Foros del Web » Programando para Internet » PHP »

Cookies y PHP

Estas en el tema de Cookies y PHP en el foro de PHP en Foros del Web. Hola, les cuento tengo una encuenta en php, funciona de maravilla pero me gustaria ponerle una cookie obviamente para que no puedan votar mas de ...
  #1 (permalink)  
Antiguo 21/06/2003, 02:51
 
Fecha de Ingreso: mayo-2003
Mensajes: 26
Antigüedad: 20 años, 11 meses
Puntos: 0
Cookies y PHP

Hola, les cuento tengo una encuenta en php, funciona de maravilla pero me gustaria ponerle una cookie obviamente para que no puedan votar mas de 1 vez cada cierto tiempo, buske info de como crear cookies y todo bien se crean pero no c como restringir al usuario par aque no pueda votar de nuevo, trate con un header("Location:tusitio"), pero tampoco me funciono, ojala alguien me pueda ayudar de antemano Gracias
  #2 (permalink)  
Antiguo 21/06/2003, 03:04
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 3 meses
Puntos: 1
Con un simple bloque If....

if(valor de la cookie == tal) { puedes votar; }

Si no era esto lo que buscabas solo pregunta.
Saludos.
  #3 (permalink)  
Antiguo 21/06/2003, 06:26
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
este es un ejemplo que yo uso hecho por mi, jeje, es algo extenso pero funciona... solo tendras que cambiar el nombre de la tabla y la de los resultados

Código PHP:
<?
#>----------------------------------------------- VOTAR POST
if ($_GET['accion']=="votarpost"){
cabeceraHTML();
$id_mod_nivel$_GET['id'];
$usuario_consulta mysql_query("SELECT $selecttbl1 FROM $sql_tabla WHERE id=$id_mod_nivel") or die("$error6");
while(
$resultados mysql_fetch_array($usuario_consulta)) {
$cargaimg .= "<img src=\"avatares/$resultados[avatarname]\" border=\"0\" alt=\"\" height=\"50\" width=\"50\">";
$contador "$resultados[postvotar]";
#>--------------Bloqueo con Cookie de Votar descargas Inicio
$renombrecookie="$resultados[id]";
$gcc_cookie_name  $renombrecookie;// nombre de la cookie
$gcc_cookie_value "shadowpostvotarvalor";// valor

$gcc_alt 'alt=""';
if(isset(
$_COOKIE["$gcc_cookie_name"]) && $_COOKIE["$gcc_cookie_name"] == "$gcc_cookie_value")
{
echo <<< HTML
<br><br><br><br><br><br><br><br>
<table  align="center" cellspacing=1 cellpadding=0 width="459" bgcolor=black border=0>
    <tbody>
        <tr height="21">
            <td align="center" valign="middle" bgcolor="gray" height="21">
                <div align="center">
                    <b>YA HAS VOTADO VUELVE Y VOTA MAÑANA</b></div>
            </td>
        </tr>
    </tbody>
</table>
HTML;
}
else
{
$gcc_cookie_life_votar="900";//,tiempo de caducidad de la cookie, en segundos
setcookie($gcc_cookie_name$gcc_cookie_valuetime()+$gcc_cookie_life_votar"");
//echo "acavas de sumar +1";//comprobar si funciona
$contador ++;
mysql_query("UPDATE $sql_tabla SET postvotar='$contador' WHERE id='$id'") or die(mysql_error());
}
#>---------------------------------Bloqueo con Cookie de Votar descargas Fin
echo <<< HTML
<br><br><br><br><br><br><br>
<table  align="center" cellspacing=1 cellpadding=0 width="459" bgcolor=black border=0>
    <tbody>
        <tr height="50">
            <td align="center" valign="middle" bgcolor="gray" width="50" height="50"><img src=avatares/$resultados
[avatarname] border=0 height=50 width=50></td>
            <td align="center" valign="bottom" bgcolor="gray" height="50">
                <div align="center"><b>GRACIAS POR TU VOTO</b></div>
                <div align="left">
                    <br><font color=Gray>_<img src=images/clock.gif border=0 height=11 width=11> <font color=white size=1>$infup <b>$resultados
[nombre]</b> el <b>$resultados[postdate]$fano | $resultados[postpais] | $contador</b> Votos
                </div>
            </td>
        </tr>
    </tbody>
</table><br>
<table  align="center" cellspacing=1 cellpadding=0 width="459" bgcolor=black border=0>
    <tbody>
        <tr height="21">
            <td align="center" valign="middle" bgcolor="gray" height="21">
                <div align="center">
                    <input type="button" class="botones3" value=$btonvolver onclick="location.href='$pag?=inicio'"></div>
            </td>
        </tr>
    </tbody>
</table>
HTML;
}
mysql_free_result($usuario_consulta);
mysql_close();
}
#>----------------------------------------------- VOTAR POST
?>
__________________
3w.valenciadjs.com
3w.laislatv.com
  #4 (permalink)  
Antiguo 21/06/2003, 07:58
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 21 años, 4 meses
Puntos: 0
te recomendaria mas que usaras el isset para ver si exite la cookie:

Código PHP:
if(isset($_COOKIE['voto']))
{
  echo
"resultados de la encuesta:";
}
else
{
  echo
"pregunta 1<br>pregunta2,etc";

o bien usar el metodo de verificar su ip, pues para que el usuario acepte cookies debe aceptarlas el navegador que no muchos usuarios la tienen
__________________

la vida es bella cuando no es culera
  #5 (permalink)  
Antiguo 21/06/2003, 15:09
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
perfecto sdf23, gracias
esq yo uso el resultado de una tabla, para crear cookies diferentes
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 21/06/2003 a las 15:11
  #6 (permalink)  
Antiguo 21/06/2003, 15:13
 
Fecha de Ingreso: mayo-2003
Mensajes: 26
Antigüedad: 20 años, 11 meses
Puntos: 0
<? setcookie("encuesta","votaste",time()+60); ?>
<?php
$encuesta = votaste;
if ($encuesta = ""){
echo "no hay cookie";
}
else{
echo "header Location:voto.htm";
}
?>

Ese codigo esoty usando pero no c como hacer q para cuando la cookie este me mande para otra pagina en la cual voy a tener el mensaje de "ud ya voto"
  #7 (permalink)  
Antiguo 21/06/2003, 15:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. casi lo tenías .. Redirecciona así:

Código PHP:
header ("Location: voto.htm");
exit; 
Y usa lo que te recomienda sdf23 . que síno no faltará el que haga:

votar.php?encuesta=blabla

Ademas que el código que pusistes último no tiene ni pies ni cabeza .. El = en el condicional debería ser == .. el votastes de $encusta que usas para probar si lo pones así será tomado como constante .. debe ir entre comillas para que sea una cadena que es lo que esperas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 21/06/2003 a las 15:59
  #8 (permalink)  
Antiguo 21/06/2003, 16:02
 
Fecha de Ingreso: mayo-2003
Mensajes: 26
Antigüedad: 20 años, 11 meses
Puntos: 0
Y este en que falla?

Cita:
<? setcookie("encuesta","votaste",time()+10); ?>
<?
if ($encuesta == "votaste") {
echo "se supone q hay cookie";
}
elseif ($encuesta == "") {
echo "se supone q no hay cookie";
}
?>
me responde a cada vez q ingreso "se supone q no hay cookie"
  #9 (permalink)  
Antiguo 21/06/2003, 16:19
Avatar de Sav1989  
Fecha de Ingreso: junio-2003
Ubicación: Cap Fed | Colegiales
Mensajes: 50
Antigüedad: 20 años, 10 meses
Puntos: 0
(Soy novato, pero bue, aca me mando):
Se supone que
1) por el tiempo, el navegador y esas porqeurias, la cookie expira (te da solo 10 secs)
2) Ahi comprueba si el valor es "votaste", y debria ser (si queres ver si esta puesta la cookie)
Código PHP:
<?
if(isset($_GET['encuesta'])){
echo 
"la cookie existe";
}
else
{
echo 
" No existe";
}
?>
En fin, puede ser que este errado, no soy master aun; pero me parece que ahi estaba el fallo, proba cambiar el nro de segndos por ejemplo a 100
  #10 (permalink)  
Antiguo 21/06/2003, 16:23
 
Fecha de Ingreso: mayo-2003
Mensajes: 26
Antigüedad: 20 años, 11 meses
Puntos: 0
Gracias a todos, para los que kieran ver la encuesta con "COOKIE" funcionando pueden verla en:

http://usuarios.lycos.es/netzer0/test/poll.php

PD: Con este script arregle todo:

Código PHP:
<? setcookie("encuesta","votaste",time()+60); ?>
<?
if(isset($_COOKIE['encuesta']))
{
  
Header ("location:voto.htm");
}
else
{
  echo 
"Gracias Por Su Voto";
}
?>
  #11 (permalink)  
Antiguo 21/06/2003, 16:25
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 21 años, 4 meses
Puntos: 0
GET no pues es una cookie seria $_COOKIE['encuesta']
__________________

la vida es bella cuando no es culera
  #12 (permalink)  
Antiguo 21/06/2003, 16:37
Avatar de Sav1989  
Fecha de Ingreso: junio-2003
Ubicación: Cap Fed | Colegiales
Mensajes: 50
Antigüedad: 20 años, 10 meses
Puntos: 0
Gracias a este thread me saque unas cuantas dudas! .. muchas gracias a todos !! ..

pd: sdf23, cierto, se me mezclan las cosas en la cabeza a esta hora :)
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 08:22.