Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/07/2008, 08:42
juan007
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Problemas con encuesta...

Antes que todo gracias por sus comentarios, no tuve tiempo para responder antes ya que tenia que hacer las pruebas necesarias a sus respectivas sugerencias antes de volver a la carga...bueno les cuento que la encuesta me funciona me permite crear una encuesta asignar sus correspondientes opciones de respuesta y asu vez que el usuario entre y vote me los suma y hace el porcentaje correspondiente.

Pero ahora el tema es que nose como validar que el usario no vote mas de una vez... para ello he estado probando segun mi logica las siguientes opciones, les cuento lo que hice.

Cree un nuevo campo en la tabla socios un nuevo campo llamado opcion_voto entonces cuando el usuario vota le hace un Update a la tabla ingresando la opcion de su voto que puede ser opcion 1,2,3 todo depende de cuantas opciones tenga la encuesta como respuestas posibles....eso lo hace correctamente ingresa la opcion.

En el caso que el usuario no haya votado ese campo (opcion_voto) es null o vacio.

Entonces cuando el usuario se auntentifica para entrar a su espacio reservado y poder votar crea sus correspondientes sessiones con su nombre de usuario, cargo, anexo, email, etc esto lo hago de la siguiente forma.

Código PHP:
$query=mysql_query("SELECT * FROM socios WHERE nombre_usuario='$NombreUsuario' and pass='$Clave'",$conexBD)or die("Error en la consulta, MySQL dice: ".mysql_error());

$total_encontrados mysql_num_rows($query);

if (
$total_encontrados<>0)
{
    
$array_datos_usuario=mysql_fetch_array($query);

$_SESSION['nombre_socio']=$array_datos_usuario[nombre];                                   
$_SESSION['cargo']=$array_datos_usuario[cargo];                    
$_SESSION['anexo']=$array_datos_usuario[anexo];                    
$_SESSION['email']=$array_datos_usuario[email];    
$_SESSION['categoria']=$array_datos_usuario[categoria];
$_SESSION['voto_encuesta']=$array_datos_usuario[opcion_voto];        
header("Location: espacio_socio.php?".SID); 
exit; 
}
else
{
    
header("Location: ../index.php"); 
    exit;     

Bueno entonces cuando el usuario llega a la encuesta y va a votar y presiona el boton se va a votar.php aca es donde registro el voto en la tabla encuesta y ademas agrego su alternativa en la tabla socios precisamente se modifica el campo opcion_voto.

En votar.php lo primero que tengo antes de cualquier codigo es esto:

Código PHP:
<?php
//Inicio la sesion 
session_start();   
//compruebo que el usuario este autentificado 
header("Cache-control:private");  
if(
$_SESSION['rut']=="")  
{  
 
header("Location: ../index.php");  
 exit;  
}  
?>
Luego pregunto por la $_SESSION['voto_encuesta'] y hago esto.

$ya_voto=$_SESSION['voto_encuesta'];

if(isset($ya_voto))
{
....codigo para votar ingresar su voto a la tabla encuesta
.....y para ingresar la opcion votada por parte del usuario
.....a la tabla socios especificamente campo opcion_voto
}
else
{
Usted ya ha votado
}

y lo e intentado con isset con empty y no me funciona...de esta forma tambien pregunte en el if

if (!isset($_SESSION['voto_encuesta']))

Al guna idea de como puedo hacerlo quizas estoy mal en la logica de preguntar o el codigo ... he estado parte del dia de ayer haciendo mis pruebas para no molestarlos pero estoy cediendo de todas formas seguire intentando.

Bueno espero haber explicado y que me puedan guiar explicar o sugerir cual o cuales son mis errores.

Desde ya agradecido.

Saludos desde CHILE.