Foros del Web » Programando para Internet » PHP »

Se puede crear una encuesta en la cual se pueda votar una sola vez sin mysql?

Estas en el tema de Se puede crear una encuesta en la cual se pueda votar una sola vez sin mysql? en el foro de PHP en Foros del Web. Hola, tengo una pregunta y es la siguiente: se puede crear una encuesta en php que deje solo votar una sola vez por día a ...
  #1 (permalink)  
Antiguo 13/08/2003, 20:06
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Se puede crear una encuesta en la cual se pueda votar una sola vez sin mysql?

Hola, tengo una pregunta y es la siguiente: se puede crear una encuesta en php que deje solo votar una sola vez por día a cada ip y que muestre los resultados con una imagen (lo último no es imprescindible) pero solo en php sin mysql??

En el caso de que no se pueda les agradecería si me dicen de algun script para hacerlo en mysql
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #2 (permalink)  
Antiguo 13/08/2003, 20:46
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 10 meses
Puntos: 5
Pues de hecho si se puede...

Lo unico que necesitas es crear un archivo de texto al que le vayas agregando las IP que votan... y luego lo vacías una vez cada 24 horas...

Si tienes varias votaciones, puedes crear un TXT para cada una.

__________________
Manoloweb
  #3 (permalink)  
Antiguo 13/08/2003, 20:50
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
vOy a ver si encuentro algo en google
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #4 (permalink)  
Antiguo 13/08/2003, 21:02
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 10 meses
Puntos: 5
Y por que no lo intentas???

Aqui lo hacemos entre todos (los que quieran aportar)

Empieza a tirar algo de código y aqui le seguimos!!

__________________
Manoloweb
  #5 (permalink)  
Antiguo 13/08/2003, 21:08
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Es que yo recien empiezo, pero les paso el codigo de las encuestas anteriores de mi sitio :

Código PHP:
<?
$archivo
="encuesta.txt";
//abrimos el archivo como lectura

$fp=fopen("$archivo","a+");

//grabamos el contenido con el # para poder separarlos despues

$w=fputs($fp,"$voto#");

//volvemos a abrir el archivo

$fp=fopen("$archivo","r");

//leemos el contenido del archivo

$resultado=fread($fpfilesize ($archivo));

//separamos el contenido por el simbolo #

$div=explode("#",$resultado);

//contamos el total de votos

$total=count($div)-1;

//hacemos un for que recorra voto por voto sumando un voto

for($i=0$i<$total$i++){
if(
$div[$i]=="op1"){
$op1++;
}
if(
$div[$i]=="op2"){
$op2++;
}
if(
$div[$i]=="op3"){
$op3++;
}
}
$grafico1 $op1*100/$total;
$grafico2 $op2*100/$total;
$grafico3 $op3*100/$total;
//redondeamos a dos cifras
$grafico1=round($grafico1);
$grafico2=round($grafico2);
$grafico3=round($grafico3);
?>


Quizás me puedan ayudar
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #6 (permalink)  
Antiguo 13/08/2003, 21:10
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Aunque no se si eso sirva como base, uds sabrán...
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #7 (permalink)  
Antiguo 13/08/2003, 21:15
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 10 meses
Puntos: 5
Código PHP:
<?
$archivo
="encuesta.txt";
$ips="direcciones.txt"
$fp=fopen("$archivo","a+");
$w=fputs($fp,"$voto#");

$fp2=fopen("$ips","a+");
$w2=fputs($fp2$_SERVER['REMOTE_ADDR']);


// Y aqui sigue...

Comienza haciendo funcionar eso, y luego seguimos con la comprobación...

__________________
Manoloweb
  #8 (permalink)  
Antiguo 13/08/2003, 21:19
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Ok...
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #9 (permalink)  
Antiguo 14/08/2003, 22:26
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 6 meses
Puntos: 7
una version reducida...

Código PHP:
<?php
$sdirectorio
="files/";
//normalmente no tendras permisos sobre los archivos txt
//en el directorio raiz, asi que es buena idea abrirlos en otro
//directorio al cual darle un 775

$archivo=$sdirectorio."encuesta.txt";
$ips=$sdirectorio."direcciones.txt"

$swrite=$voto."#";
//este es el voto que se guardaria

$ip=$_SERVER['REMOTE_ADDR'];
// obtenemos la ip

$fp2=fopen($ips,"r+");
$todaslasips=fread($fp2);
fclose($fp2);
//vemos que ips han sido guardadas

if (strpos($todaslasips,$ip)>0) {
   
//la encontro! no puede votar
   
echo "Ya votaste";
} else {
   
$fp=fopen($archivo,"a+");
   
$w=fputs($fp,$swrite);
   
fclose($fp);
   
//grabas el voto

   
$fp2=fopen($ips,"a+");
   
$w2=fputs($fp2,$ip);
   
fclose($fp2);
   
//grabas la ip para evitar que vote de nuevo
}
?>
__________________
No tengo firma ahora... :(
  #10 (permalink)  
Antiguo 15/08/2003, 19:46
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Gracias Mickel, aunque me dice esto:

Parse error: parse error in c:\apache\htdocs\cool\votar.php on line 10

Por qué puede ser?


Saludos
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #11 (permalink)  
Antiguo 15/08/2003, 20:27
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 10 meses
Puntos: 5
Es porque le falta un punto y coma...

$archivo=$sdirectorio."encuesta.txt";
$ips=$sdirectorio."direcciones.txt"; <<--
__________________
Manoloweb
  #12 (permalink)  
Antiguo 15/08/2003, 20:35
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Muchas gracias manolo, y ahora porque puede ser este error?:

Warning: Wrong parameter count for fread() in c:\apache\htdocs\cool\votar.php on line 17

Gracias.
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #13 (permalink)  
Antiguo 16/08/2003, 17:16
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Alguien sabe como ayudarme? Desde ya gracias
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #14 (permalink)  
Antiguo 16/08/2003, 17:20
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 21 años, 6 meses
Puntos: 2
Cita:
Mensaje Original por philipppe
Muchas gracias manolo, y ahora porque puede ser este error?:

Warning: Wrong parameter count for fread() in c:\apache\htdocs\cool\votar.php on line 17

Gracias.


que codigo hay en la linea 17 ?????, y la 16 y la 18.... pon las 3 lineas...
__________________
3w.valenciadjs.com
3w.laislatv.com
  #15 (permalink)  
Antiguo 16/08/2003, 17:29
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Te paso el código completo (es que más atrás puso mickel con una modificación de manoloweb):

Código PHP:
<?php
$sdirectorio
="files/";
//normalmente no tendras permisos sobre los archivos txt
//en el directorio raiz, asi que es buena idea abrirlos en otro
//directorio al cual darle un 775

$archivo=$sdirectorio."encuesta.txt";
$ips=$sdirectorio."direcciones.txt";

$swrite=$voto."#";
//este es el voto que se guardaria

$ip=$_SERVER['REMOTE_ADDR'];
// obtenemos la ip

$fp2=fopen($ips,"r+");
$todaslasips=fread($fp2);
fclose($fp2);
//vemos que ips han sido guardadas

if (strpos($todaslasips,$ip)>0) {
   
//la encontro! no puede votar
   
echo "Ya votaste";
} else {
   
$fp=fopen($archivo,"a+");
   
$w=fputs($fp,$swrite);
   
fclose($fp);
   
//grabas el voto

   
$fp2=fopen($ips,"a+");
   
$w2=fputs($fp2,$ip);
   
fclose($fp2);
   
//grabas la ip para evitar que vote de nuevo
}
?>

__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #16 (permalink)  
Antiguo 16/08/2003, 17:31
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 21 años, 6 meses
Puntos: 2
ya, y que linea es la que te he dicho antes....
__________________
3w.valenciadjs.com
3w.laislatv.com
  #17 (permalink)  
Antiguo 16/08/2003, 17:31
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Puede ser un error tonto, o que esté haciendo algo mal (debe ser esto) ¿cómo hago para utilizarlo correctamente?

Un saludo, chau.
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #18 (permalink)  
Antiguo 16/08/2003, 17:39
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Cita:
Mensaje Original por nuevo
ya, y que linea es la que te he dicho antes....

No te entendí ¿qué querés decir?
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #19 (permalink)  
Antiguo 18/08/2003, 11:06
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 6 meses
Puntos: 7
que error te da? en que linea?
__________________
No tengo firma ahora... :(
  #20 (permalink)  
Antiguo 18/08/2003, 18:22
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Muchas gracias a todos por su ayuda, pero me simplifiqué la tarea y conseguí un script que lo hace todo más fácil.

Un saludo.
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #21 (permalink)  
Antiguo 19/08/2003, 12:02
Avatar de kawoq  
Fecha de Ingreso: mayo-2002
Ubicación: Xela
Mensajes: 491
Antigüedad: 22 años, 6 meses
Puntos: 0
una pregunta el script que se realizo en este post, al finalizarlo, es ya solo de incluirlo de esta forma en las paginas que queremos que salga?

Código PHP:
<?
include ("votacion.php");
?>
  #22 (permalink)  
Antiguo 05/10/2003, 13:23
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Al final he decidido usar este script, qué es exactamente lo que debo hacer para que funcione? Lo agradecería infinitamente..

Espero respuesta. Chau.
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
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 2 personas (incluyéndote)




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