• Diseño Web a Medida

    Sabemos que hoy en día estar en Internet es importante no solo para las empresas sino para diferentes profesionales, por lo que el compromiso con nuestros clientes es ofreces un servicio de desarrollo que se ajuste a sus necesidades.

  • Posicionamiento en Buscadores

    Encontrarse entre los primeros resultados de búsquedas es uno de los factores mas importantes en la web de hoy en día, por esto mismo realizamos estrategias de posicionamiento para garantizarle su lugar en los buscadores.

  • Comunicación Estratégica

    Logramos comunicar a diferentes personas un mensaje elaborado estratégicamente para ofrecer como resultado una fidelización pura en sus clientes y atraer a aquellos que antes no estaban comprometidos con usted.

  • Diseño Multimedia

    Estamos acostumbrados a percibir mas las cosas si se nos la presentan de forma visual y grafica por lo que la animación y las presentaciones generan mayor impacto. Nuestro servicio de diseño multimedia pretende brindar esta solución.

  • Diseño Grafico y Publicitario

    Si bien hoy en día las herramientas digitales tienden cada vez mas a separarnos de las formas tradicionales, no podemos dejar de lado, comunicación personal y tangible por eso ofrecemos elementos de diseño grafico y publicitario.

Sistema de Encuesta PHP sin MYSQL

Publicada por Ameva el 25 octubre, 2008 | 5 Comentarios »

Muchas veces queremos incluir en nuestro sitio web una encuesta y por lo general nuestro amigo Google nos da como resultado “Encestas con PHP y MYSQLâ€, lo cual para cualquier programador seria de ayuda, pero a veces se torna tediosa la tarea de hacer todo un sistema en MYSQL solo por una encuesta.

Ameva --> Encuesta

En este post voy a explicar como realizar un sistema de encuesta (Básico) sin MYSQL. El proyecto esta dividido en dos archivos uno que se encarga de generar todos los procesos y el otro que es el que almacena los resultados.
El archivo que procesa todo esta dividido en dos partes una parte tiene el formulario de la encuesta y el otro tiene el Script para cargar, guardar y mostrar los resultado.

Como funciona:
El formulario tiene una serie de respuestas, donde el usuario debe elegir una, luego de eso se procede a procesar los datos que serán guardados en un archivo de texto. Se cargan los datos del archivo para dividir los resultados y crear un porcentaje de las respuestas y luego se muestran los valores finales.

Es muy sencillo y la explicación la deje en el código, el único comentario que voy añadir es como agregar respuestas al Script.

Por cada respuesta que se desea agregar se debe incorporar estos fragmentos de código al script.

  1. if($Contenido[$B] ==  'Respuesta X'){
  2.  $Opcion_X++;
  3. }
  4.  
  5. // y este fragmento
  6.  
  7. $Respuesta_X = ($Opcion_X  * 100) / $Total_Respuestas;
  8. $Respuesta_X =  round($Respuesta_X);

Archivo Encuesta.php

  1. <?php
  2.  if($_POST['Respuesta'] != ''){
  3.   $Respuesta = $_POST['Respuesta'];
  4.  
  5.   // Nombre del Archivo que contiene los resultados
  6.   $Archivo = 'db.txt';
  7.  
  8.   // Abrimos el archivo como lectura
  9.   $Lectura = fopen($Archivo, 'a+');
  10.  
  11.   // Guardamos la respuesta del usuario y separamos los valores con el signo “|â€
  12.   $Gurdado = fputs($Lectura, $Respuesta.'|');
  13.  
  14.   // Recargamos el Archivo
  15.   $Lectura = fopen($Archivo, 'r');
  16.  
  17.   // Exporamos el contenido del Archivo
  18.   $Resultados_Lectura = fread($Lectura, filesize ($Archivo));
  19.  
  20.   // Separamos el contenido por el simbolo “|â€
  21.   $Contenido = explode('|', $Resultados_Lectura);
  22.  
  23.   // Contamos el total de Respuestas
  24.   $Total_Respuestas = count($Contenido) - 1;
  25.  
  26.   // for, para sumar los votos
  27.   for($B = 0; $B < $Total_Respuestas; ++$B){
  28.    if($Contenido[$B] == 'Respuesta 1'){
  29.     $Opcion_1++;
  30.    }
  31.  
  32.    if($Contenido[$B] == 'Respuesta 2'){
  33.     $Opcion_2++;
  34.    }
  35.  
  36.    if($Contenido[$B] == 'Respuesta 3'){
  37.     $Opcion_3++;
  38.    }
  39.   }
  40.  
  41.   // Redondeamos las respuestas
  42.   $Respuesta_1 = ($Opcion_1 * 100) / $Total_Respuestas;
  43.   $Respuesta_2 = ($Opcion_2 * 100) / $Total_Respuestas;
  44.   $Respuesta_3 = ($Opcion_3 * 100) / $Total_Respuestas;
  45.  
  46.   $Respuesta_1 = round($Respuesta_1);
  47.   $Respuesta_2 = round($Respuesta_2);
  48.   $Respuesta_3 = round($Respuesta_3);
  49.  
  50.   echo 'Respuesta 1: '.$Respuesta_1.' %<br />';
  51.   echo 'Respuesta 2: '.$Respuesta_2.' %<br />';
  52.   echo 'Respuesta 3: '.$Respuesta_3.' %';
  53.  }
  54.  else{
  55. ?>
  56.  
  57.  <form action="#" method="post">
  58.   <strong>¿Pregunta?</strong> <br />
  59.   <input name="Respuesta" type="radio" value="Respuesta 1"> Respuesta 1 <br />
  60.   <input name="Respuesta" type="radio" value="Respuesta 2"> Respuesta 2 <br />
  61.   <input name="Respuesta" type="radio" value="Respuesta 3"> Respuesta 3 <br />
  62.   <input type="submit" value="Enviar">
  63.  </form>
  64.  
  65. <?php
  66.  }
  67. ?>

Archivos del Tutorial

Publicada en Tutoriales

Comentarios

5 Comentarios en esta Publicación
Silver Dijo:

Me has salvado la vida gracias a esta encuesta que necesitava para un proyecto.

Gracias.

Gabriel Dijo:

Hola…Felicidades porque si funka y bien!!!…solo hay un peque problema:
como harìas para que el usuario pudiera votar solo una vez?

Creo que es almacenando la ip, pero es todo lo que tengo al respecto, por favor, contactame en este correo y vemos, sale?

Saludos.

alex Dijo:

Pues la verdad estoy necesitando algo como esto, pero la verdad no se como implentarlo en mi pagina web, sera que me puedes explicar un poco……aparte de esto tengo que hacer algun formalario con extencion html …..o que por favor..

pacho Dijo:

excelete pagina

jose Dijo:

esta bien y funciona bien pero como le hago para agregar min unas 20 peguntas y el porcentaje de las encuestas se contablibilice en un unico total…

Publicar un Comentario

Utilice le siguiente formulario para publicar sus comentarios.

COMENTAR

  • También puede encontrarnos en
  • Artículos Relacionados

  • Subscríbase al boletín de noticias

    Subscríbase al boletín de noticias ingresando su dirección de correo

    OK
  • Categorías

  • Gestionado con Wordpress.
    Puede subscribirse al boletín de noticias o también al boletín de comentarios.

  • Acerca de Ameva

    Con la iniciativa de trabajar, ofreciendo a nuestros clientes herramientas y servicios que sean de beneficio y productividad para sus negocios, nace Ameva Comunicación Digital.
    Con las expectativas de que nuestro trabajo sea aprovechado, dedicamos todo nuestro empeño en desarrollar cada uno de los desafíos propuestos, para lograr... su éxito, nuestra meta.

    Ameva, Creative Commons | ameva [arroba] ameva.com.ar | (0351) 153617751 | Córdoba, Argentina