Fallo en formulario

Iniciado por Fonsiman, 30 Diciembre 2010, 04:46 AM

0 Miembros y 1 Visitante están viendo este tema.

Fonsiman

Hola a todos. Empezar diciendo que es la primera vez que posteo en el foro y que además soy nuevo en esto de programar, así que por favor no me peguéis si digo una burrada :D
Bueno, el problema que tengo es que quiero crear un sistema de votación. Por un lado tengo el siguiente código ¡QUE ESTÁ DENTRO DE UN ECHO! (El código es mucho más extenso, pero pongo la parte que interesa)

Código (php) [Seleccionar]

<?php

<form name="votacionListas" action="../sumarVotos.php" method="post">

<
input type="hidden" name="posicionVoto" value="'.$posicionM.'"/>

<
input type="submit" value="VOTAR" name="ok"/>

?>



Como veis he en el value del input oculto paso una variable que se llama $posicionM.
Por otro lado el codigo de sumarVotos.php es:

Código (php) [Seleccionar]

<?php

include (
"usarTopListas.php");

$consulta="UPDATE tablaVotocion SET votos_semana = votos_semana +1 WHERE posicion='".$posicionVoto."';";

        
$hacerConsulta mysql_query ($consulta$conectado);


  if ($hacerConsulta){
    echo (
"SE HA GRABADO EL REGISTRO.");
  } else {
    echo (
"NO SE HA PODIDO GRABAR EL REGISTRO.");
  echo ("El problema es el siguiente:<br>");
  echo ("Código: <b>".mysql_errno ()."</b><br>");
  echo ("Descripción:: <b>".mysql_error ()."</b><br>");
  }
  
?>



Lo único que hago es incrementar en uno el contador de votos. La pantalla de error me dice que $posicionVoto esta indefinida.

Lo voy haciendo por posición porque lo que tengo son varias posibilidades ordenadas del 1 al 25 según el número de votos y cada uno tiene su botón para votarlo.

Lo peor es que el código que pongo abajo para detectar errores me dice que puedo grabar el registro...

Supongo que el fallo lo tendré en las comillas. Las he cambiado ya no sé cuantas veces ya, y estoy bastante saturado porque llevo un par de días con lo mismo y no consigo solucionarlo. Supongo que será una chorrada, pero es que estoy algo cansado y he decidido comentarlo en el foro.

Muchas gracias por adelantado ., espero haberme explicado bien :D Y FELIZ NAVIDAD!

cassiani

antes de esta linea:

$consulta="UPDATE tablaVotocion SET votos_semana = votos_semana +1 WHERE posicion='".$posicionVoto."';";

Debes almacenar el valor enviado desde el formulario
$posicionVoto = $_POST['posicionVoto'];

Fonsiman

Muchas gracias tio! Un fallo tonto de novato...

Ahora te hago otra pregunta. Tal como lo he hecho, al apretar el botón el formulario me lleva a la página sumarVotos.php. ¿Cómo puedo hacer para que siguiendo en la página que está me sume el voto?

Gracias y espero no ser muy pesado :S

Devilboy.Devil

no entendi muy bien pero

en el action del form pon el nombre de tu pagina.php

y asi te direcciona a la misma

xassiz~

Pon:
Código (html4strict) [Seleccionar]
<form name="votacionListas" action="" method="post">

Y junta los dos .php en el mismo archivo, comprobando si fueron enviados datos:
Código (php) [Seleccionar]

<?php

if(isset($_POST['posicionVoto'])){
    ...
}

Fonsiman