24Oct Encuesta en Flash y Php
He creado un sistema de encuestas mediante Flash y php. Las características que tiene es que utiliza SharedObject para guardar la votación y así que solamente se pueda votar una vez por persona. Y la otra característica es que la encuesta tiene fecha límite, así que una vez pasada ese día que le asignemos no se podrá votar más.
La encuesta quedaría de esta manera:
En este post voy a poner cómo puedes usarlo en tu blog.
Las tablas necesarias para la encuesta son:
-
--
-
-- Estructura de tabla para la tabla `encuesta_opciones`
-
--
-
CREATE TABLE `encuesta_opciones` (
-
`id` BIGINT(11) NOT NULL AUTO_INCREMENT,
-
`id_encuesta` BIGINT(11) NOT NULL DEFAULT '0',
-
`opcion` TEXT NOT NULL,
-
`votos` BIGINT(11) NOT NULL DEFAULT '0',
-
PRIMARY KEY (`id`)
-
) TYPE=MyISAM AUTO_INCREMENT=1 ;
-
-
--
-
-- Estructura de tabla para la tabla `encuesta_preguntas`
-
--
-
-
CREATE TABLE `encuesta_preguntas` (
-
`id` BIGINT(9) NOT NULL AUTO_INCREMENT,
-
`titulo` TEXT NOT NULL,
-
`fecha` BIGINT(8) NOT NULL DEFAULT '0',
-
PRIMARY KEY (`id`)
-
) TYPE=MyISAM AUTO_INCREMENT=1 ;
La tabla encuesta_preguntas será la que contenga el título de la encuesta y la fecha límite.
La tabla encuesta_opciones contendrá las opciones de cada encuesta (relacionadas por id_encuesta) y los votos de cada opción.
La encuesta en sí necesita los archivos:
- encuesta.swf
- encuesta.php
- accion.php
El archivo encuesta.php es el que llamaremos desde el swf y a partir de la id que le pasemos nos montará un xml con los datos de la encuesta.
La estructura del archivo "encuesta.php" es la siguiente :
-
//Guardar como encuesta.php
-
//Variables de la base de datos
-
$host="xxxxxxx";
-
$user="xxxxxxxxx";
-
$passwd="xxxxxxxxxxx";
-
$bdname="xxxxxxxx";
-
-
-
-
$xml="";
-
-
$xml.="";
-
$xml.="".$encuesta['titulo']."";
-
-
$xml.="";
-
$xml.="<!--[CDATA[".$preguntas['opcion']-->";
-
}
-
$xml.="";
-
$xml.="";
-
echo $xml;
El archivo accion.php es el que llamaremos desde el swf cuando se hace una votación. La estructura de este archivo es bastante sencilla:
-
//Guardar como accion.php
-
//Variables de la base de datos
-
$host="xxxxxxx";
-
$user="xxxxxxxxx";
-
$passwd="xxxxxxxxxxx";
-
$bdname="xxxxxxxx";
-
-
Ahora solamente nos falta hacer la llamada a nuestro swf. Mediante flashvars le tenemos que indicar la id de la encuesta que queremos que salga.
Un ejemplo de cómo sería el archivo html es el siguiente:
-
<script src="AC_RunActiveContent.js" type="text/javascript"></script>
-
-
<script type="text/javascript"><!--
-
AC_FL_RunContent( \'codebase\',\'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\',\'width\',\'300\',\'height\',\'300\',\'src\',\'encuesta\',\'flashvars\',\'id_encuesta=14\',\'quality\',\'high\',\'pluginspage\',\'http://www.macromedia.com/go/getflashplayer\',\'movie\',\'encuesta\'); //end AC code
-
// --></script>
Para insertar el flash hemos usado el código de Javascript AC_RunActiveContent.
Con todo esto ya podríamos usar la encuesta, sería algo engorroso crearlas directamente en mysql así que por eso he creado un pequeño gestor para poder crearlas y controlarlas desde el escritorio.
El gestor lo he creado mediante Flash y MDM Zinc. Para poder usarlo, tu servidor debe poder aceptar conexiones externas. El propio gestor es muy intuitivo y además lleva todos los archivos necesarios para poder implementar las encuestas. También dispones de unas instrucciones que espero sean bastante claras.
Actualización
Me comentan que el gestor no funciona en windows vista, sientiendolo mucho no voy a instalarme Vista hasta que pueda aguantar sin el, así que no puedo probarlo en ese sistema operativo.






Octubre 25th, 2007 at 14:16
Muy chulo este sistema de encuestas! Es, seguramente, el mejor que he visto en todo Internet y parte del extranjero!
Yo lo voy a usar desde hoy mismo en mi web!
Por cierto… ¿puedo cambiarle el color a las barritas de porcentaje? molaría que fuesen azules, es que el gris queda muy triste, no?
Octubre 31st, 2007 at 22:39
hola, me ha gustado mucho este sistema para las encuentas, por eso me he bajado los archivos de ejemplo pero el gestor no me funciona en Windows Vista
Gracias
Noviembre 3rd, 2007 at 8:25
Excelente script, eres un dios (exagere jeje) felicidades funciona de maravilla.
Noviembre 3rd, 2007 at 8:30
¿Cómo le puedo hacer para que puedan votar las veces que quieran?
Gracias.
Noviembre 3rd, 2007 at 8:33
No lo voy a usar asi, pero me gustaria saber
Noviembre 3rd, 2007 at 9:15
Bueno de hecho me estoy dando cuenta que al recargar pueden volver a votar, como le puedo hacer para que puedan votar una vez
Noviembre 3rd, 2007 at 17:25
Miguel, prueba de nuevo porque he estado haciendo pruebas últimamente con la encuesta así que deberías haberla probado en esos momentos. Y se me olvidó actualizar los archivos en el servidor.
Flash usa sus propias “cookies”, pues para la encuesta he usado esa especie de “cookies” llamadas FlashObject.
Noviembre 3rd, 2007 at 22:09
Si, funciona bien, todo bien es que aun no la probaba bien, pero ya quedo, ahora una pregunta solamente, como le podria hacer para hacer la letra mas grande, habria que editar el flash desde el archivo .fla o cual ?
Noviembre 7th, 2007 at 21:55
Hola! buena encuesta, si señor. llevo buscando 2 semanas por internet y es la que mas me ha convencido. La he descargado, y al verla con el wamp, como si la tuviera subida a un servidor, no me salen las opciones de respuesta ni la preunta. por que sera??
Noviembre 8th, 2007 at 10:43
Asegurate de haberte creado las tablas correspondientes, también que le mandas la id de la encuesta al swf y que tienes todos los archivos en un mismo directorio llamado “encuestas”.
Noviembre 8th, 2007 at 19:57
Hola de nuevo. Era un problema de los datos del servidor. Mi duda ahora es la siguiente:
Al igual que me ha pasado con la tuya, ya no puedo votar mas. Que le modifico para poder votar las veces que se quiera? Gracias Juan, buen blog y buena encuesta
Noviembre 8th, 2007 at 20:03
Fran la encuesta está hecha así a propósito para que sea lo más verídica posible. Si es para hacer pruebas tendrás que decirle al navegador que no permita guardar información de flash en tu ordenador.
Noviembre 8th, 2007 at 20:09
Pero no se le puede modificar algo del codigo? es que es para una pagina personal, y es una encuesta tipo coña y no te digo votar 20 veces el mismo dia, pero quizas a las 2 semanas te apetece dar otro voto. Felicidades de todas formas por permitirnos tenerla
Noviembre 8th, 2007 at 20:24
Fran lo siento pero no voy a hacerle ese cambio, ya sería personalizar la encuesta para cada visitante y no tengo tiempo para ir haciendo eso.
Pienso que votar una vez es lo lógico, hacerlo más veces sería desvirtuar el resultado.
Un saludo.
Noviembre 8th, 2007 at 20:36
ok,ok, no te lo estaba pidiendo, pero pensaba que se podia modificar el php facilmente, perdona. Me habia gustado la encuesta la verdad
Noviembre 10th, 2007 at 1:53
Hola Juan realmente es muy bueno tu sist. de encuestas, sin embargo tengo un inconveniente, ya cree las tablas en la base de datos; pero desde el Gestor de encuestas siempre falla la conexion.-
que estoy haciendo mal?…o es un problema de el servidor?.-
Muchas gracias, espero tu respuesta Juan Ignacio.-
Noviembre 10th, 2007 at 20:09
Debe ser un problema del servidor. Comprueba que tu servidor permita conexiones externas a las bases de datos, no todos lo permiten.
Noviembre 13th, 2007 at 1:44
Juan tenias razon, nunca me fije y el sever solo hacepta conexiones de servidor, si puedes ayudarme a incluir tu sist. de encuestas en mi sitio, te lo agradezco la verdad que es muy bueno lo que hiciste; espero tu respuesta, a cambio tambien colaborare contigo, pero te lo comento de manera personal, si no es mucho pedir contesta a mi casilla.-
Noviembre 13th, 2007 at 11:32
Lo único que no te funcionará será el gestor, todo lo demás te funcionará perfectamente. Tendrás que insertar las preguntas y opciones directamente en la base de datos o crearte un gestor tu mismo en php.
Diciembre 28th, 2007 at 23:06
hola …felicitaciones, me parece segun lo he visto una encuesta muy buena, muy practica y muy real..me gustaria descargar los archivos pero no los encuentro, puedo saber como hacerlo? gracias…y mil felicidades.
Diciembre 29th, 2007 at 13:39
Ya está corregido el enlace para la descarga, perdonar las molestias.
Enero 1st, 2008 at 6:10
muy buena encuesta me servira bastante
Enero 3rd, 2008 at 19:54
Me sale error de la conexión desde la página encuesta.html, pero ya probé independientemente desde encuesta.php y accion.php y si se conecta a la base de datos y si genera el XML, pregunto EN ALGUNA PARTE DEL FLASH ESTAN LOS DATOS DE CONEXION ?
Enero 3rd, 2008 at 22:10
No carla, en el flash unicamente llamas al xml montado. Asegurate que tienes bien las rutas, que tienes todos los archivos en un directorio llamado “encuestas”
Abril 5th, 2008 at 19:54
Me gusta tu encuesta es exactamente lo q andaba buscando, pero kisiera modificar el swf, podrias enviarme el .fla, kisiera personalizarlo un poco, es decir, las medidas los colores, si me indicas tus creditos podria agregarlos, gracias, espero tener noticias de ti pronto
Julio 9th, 2008 at 20:37
Podrian ayudarme diciendo como se arma la pregunta y donde se insertan las opciones no logro darme cuenta
desde ya muchas gracias