Foros del Web » Programando para Internet » PHP »

Problemas al dar click al boton Votar con PHP y Mysql

Estas en el tema de Problemas al dar click al boton Votar con PHP y Mysql en el foro de PHP en Foros del Web. Hola amigos, estoy haciendo un sistema de votacion de fotos en mysql y php en el cual busco la foto del participante por criterio nombre, ...
  #1 (permalink)  
Antiguo 21/07/2010, 11:44
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Problemas al dar click al boton Votar con PHP y Mysql

Hola amigos, estoy haciendo un sistema de votacion de fotos en mysql y php en el cual busco la foto del participante por criterio nombre, le doy al boton buscar y al aparecerme la foto de quien busco abajo de la imagen me aparece un boton Votar
y he aqui mi problema q al darle al boton Votar no me inserta el nuevo voto en la BD aqui les copio mi code entero:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
$link 
mysql_connect('localhost''root''yo2bik');
if (!
$link)
   die(
'Error al conectarse con MySQL: ' mysql_error().' <br>Número del error: '.mysql_errno());
if (! @
mysql_select_db("pintatumundoagatha",$link)){
   echo 
"No se pudo conectar correctamente con la Base de datos";
   exit();
}
?>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>

   <br />
   <form id="busca_imagenes" name="busca_imagenes" method="post" action="">
   <fieldset>
  <table width="200" border="0" align="center">
      <tr>
        <td>Nombre Artista</td>
        <td><input type="text" name="nombre_artista" id="nombre_artista" /></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>Colegio</td>
        <td><label for="colegio_artista"></label>
          <input type="text" name="colegio_artista" id="colegio_artista" /></td>
        <td><input type="submit" name="Buscar" id="Buscar" value="Buscar" /></td>
      </tr>
      <tr>
        <td>Curso</td>
        <td><label for="curso_artista"></label>
          <input type="text" name="curso_artista" id="curso_artista" /></td>
        <td>&nbsp;</td>
      </tr>
  </table>
  </fieldset>


<?php

if ($_POST['Buscar'])
{
    
        if (
$_POST['nombre_artista'])
    {
        
$buscar_nombre_artista="select artista.*, pinturas.* from artista, pinturas where artista.id_artista=pinturas.id_artista and artista.nombre_artista='".$_POST['nombre_artista']."' and pinturas.id_artista=artista.id_artista";
        
        
$buscar_nombre_artista mysql_query($buscar_nombre_artista) or die(mysql_error());
                while(
$row=mysql_fetch_assoc($buscar_nombre_artista))
                {
                    echo 
'<center><img src="'.$row['PINTURA_URL'].'"></img></center>';
                    echo 
'<center>Nombre: '.$row['NOMBRE_ARTISTA'].'</center>';
                    echo 
'<center>Curso: '.$row['CURSO_ARTISTA'].'</center>';
                    echo 
'<center>Colegio: '.$row['COLEGIO_ARTISTA'].'</center>';
                    echo 
"<center><input type='submit' name='Votar' value='Votar' /></center>";
                    
//var_dump($row);
                    
$_SESSION['id_pintura']=$row['ID_PINTURA'];
                }
                
                
$ide_pintura $_SESSION['id_pintura'];
                
                echo 
$consulta "SELECT voto FROM votacion WHERE id_pintura='".$ide_pintura."'"
    
$consulta mysql_query($consulta); 
    
$lado=mysql_num_rows($consulta);
    while(
$row_voto mysql_fetch_array($consulta)){ 
        
$votos$row_voto['VOTO'];
        echo 
$row_voto['VOTO'];
        echo 
$votos;
        
//var_dump ($row_voto);
                                
                                
    
}

                
                if (
$_POST['Votar']) 
                {
                    
?>
<SCRIPT LANGUAGE="javascript">
       alert('Gracias por Votar');
                                                    
   </SCRIPT>
    <?php
                    
                    $votos 
$votos 1;
// actualizo la base de datos
    
echo $consulta "UPDATE votacion SET voto = '".$votos."' WHERE id_pintura='".$ide_pintura."'";
    
mysql_query($consulta,$link);

                }
        
    }
}
?>
</form>
</body>
</html>
el problema es q no me entra al IF de if($_POST['Votar') ya q al darle click a este boton se me recarga la pagina y no entra al if para realizar la accion de aumentar un voto a la foto.... en q estoy fallando amigos??? pq no me entra al if??? porfavor agradeceria mucho su ayuda amigos.... de antemano gracias.
  #2 (permalink)  
Antiguo 21/07/2010, 12:06
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

dime una cosa todo el codigo lo utilizas en la misma pagina, de ser asi te recomiendo separarlo para que sea mas facil leerlo, osea la parte de busqueda en uno, la parte de muestra con el boton votar en otro y la parte de actualizar el voto en otra
  #3 (permalink)  
Antiguo 21/07/2010, 12:10
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

gracias por la recomendacion johan, pero porfa si me pudieras echar una manito para saber el pq no me entra al if($_POST['Votar']) te lo agradeceria mucho... de antemano gracias
  #4 (permalink)  
Antiguo 21/07/2010, 12:16
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

la pagina te muestra hasta la parte de votos.

y te muestra el boton de votar, pero al darle click a este boton dices que recarga la pagina y no actualiza los votos????


yo no veo el error a simple vista, aunque como te dije asi es dificil verlo
  #5 (permalink)  
Antiguo 21/07/2010, 12:19
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

si al darle click al boton Votar deberia entrarme al IF if($_POST['Votar']) pero no me entra y no entiendo pq, deberia entrar y actualizar el voto pero no entra y no encuentro el pq :S porfavor ayuda amigos!!!!!! de antemano gracias....
  #6 (permalink)  
Antiguo 21/07/2010, 12:24
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

prueba asi a ver

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
$link 
mysql_connect('localhost''root''yo2bik');
if (!
$link)
   die(
'Error al conectarse con MySQL: ' mysql_error().' <br>Número del error: '.mysql_errno());
if (! @
mysql_select_db("pintatumundoagatha",$link)){
   echo 
"No se pudo conectar correctamente con la Base de datos";
   exit();
}
?>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>

   <br />
   <form id="busca_imagenes" name="busca_imagenes" method="post" action="">
   <fieldset>
  <table width="200" border="0" align="center">
      <tr>
        <td>Nombre Artista</td>
        <td><input type="text" name="nombre_artista" id="nombre_artista" /></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>Colegio</td>
        <td><label for="colegio_artista"></label>
          <input type="text" name="colegio_artista" id="colegio_artista" /></td>
        <td><input type="submit" name="Buscar" id="Buscar" value="Buscar" /></td>
      </tr>
      <tr>
        <td>Curso</td>
        <td><label for="curso_artista"></label>
          <input type="text" name="curso_artista" id="curso_artista" /></td>
        <td>&nbsp;</td>
      </tr>
  </table>
  </fieldset>


<?php

if ($_POST['Buscar'])
{
    
        if (
$_POST['nombre_artista'])
    {
        
$buscar_nombre_artista="select artista.*, pinturas.* from artista, pinturas where artista.id_artista=pinturas.id_artista and artista.nombre_artista='".$_POST['nombre_artista']."' and pinturas.id_artista=artista.id_artista";
        
        
$buscar_nombre_artista mysql_query($buscar_nombre_artista) or die(mysql_error());
                while(
$row=mysql_fetch_assoc($buscar_nombre_artista))
                {
                    echo 
'<center><img src="'.$row['PINTURA_URL'].'"></img></center>';
                    echo 
'<center>Nombre: '.$row['NOMBRE_ARTISTA'].'</center>';
                    echo 
'<center>Curso: '.$row['CURSO_ARTISTA'].'</center>';
                    echo 
'<center>Colegio: '.$row['COLEGIO_ARTISTA'].'</center>';
                    echo 
"<center><input type='submit' name='Votar' value='Votar' /></center>";
                    
//var_dump($row);
                    
$_SESSION['id_pintura']=$row['ID_PINTURA'];
                }
                
                
$ide_pintura $_SESSION['id_pintura'];
                
                echo 
$consulta "SELECT voto FROM votacion WHERE id_pintura='".$ide_pintura."'"
    
$consulta mysql_query($consulta); 
    
$lado=mysql_num_rows($consulta);
    while(
$row_voto mysql_fetch_array($consulta)){ 
        
$votos$row_voto['VOTO'];
        echo 
$row_voto['VOTO'];
        echo 
$votos;
        
//var_dump ($row_voto);
                                                      
}

    }
}                
                if (
$_POST['Votar']) 
                {
                    
?>
        <SCRIPT LANGUAGE="javascript">
        alert('Gracias por Votar');
        </SCRIPT>
                    <?php
                    
                    $votos 
$votos 1;
// actualizo la base de datos
    
echo $consulta "UPDATE votacion SET voto = '".$votos."' WHERE id_pintura='".$ide_pintura."'";
    
mysql_query($consulta,$link);

                }
        

?>
</form>
</body>
</html>
  #7 (permalink)  
Antiguo 21/07/2010, 12:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

no hay caso no funciona!!! estoy desesperadoooo porfavor ayuda amigos!!!!!
  #8 (permalink)  
Antiguo 21/07/2010, 12:54
Avatar de elchicho118  
Fecha de Ingreso: mayo-2010
Mensajes: 74
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

prueba de esta forma cambiando el update

Código PHP:
Ver original
  1. $reg = ("update votacion set voto = '$votos' WHERE id_pintura='$ide_pintura'");
  2.     mysql_query($consulta,$link);
__________________
QUISIERA HACER LO QUE NADIE HA HECHO EN LA MITAD DE TIEMPO
  #9 (permalink)  
Antiguo 21/07/2010, 12:56
Avatar de josefferhn  
Fecha de Ingreso: agosto-2007
Ubicación: Tegucigalpa, Fco Morazan
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

Hola amigo, la clausula $POST lo que hace es obtener el valor del objeto creado llamdo "Votar", mas sin embargo en tu codigo no lo has comparado contra algo, es decir, Si tal cosa es igual a tal cosa, ej.

if ($_POST['Votar'] == 1)
{
asi deberia entrar
}

intentalo, saludos

Pd. te recomiento que el objeto "Votar" sea un checkbox o radiobutton, si asi lo tienes, omite mi sugerencia.
  #10 (permalink)  
Antiguo 21/07/2010, 13:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

Hola jose lo tengo como boton pq mi jefe asi me lo pidio :S intente poniendo if($_POST['Votar']==1 ) pero tampoco me entra al if y solo se me vuelve a recargar la pagina sin entrar al if para como lo puedo hacer??? con q condicion deberia comparar el estado del boton para q me entre al if??? porfavor amigos se lo agradeceria muchooo estoy desesperadooo de antemano gracias
  #11 (permalink)  
Antiguo 21/07/2010, 14:06
Avatar de josefferhn  
Fecha de Ingreso: agosto-2007
Ubicación: Tegucigalpa, Fco Morazan
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

has algo entonces, pon un echo $_POST['Votar'] para ver que tiene almacenado tu boton, o sino en el formulario pon un objeto hidden, y le colocas en su valor 1, entonces cuando envie el form tambien enviara el valor del campo hidden, y el IF lo cambias por ese objeto.

if ($_POST[CampoOculto] == 1)
{
asi deberia entrar
}

Perdon, acabo de ver tu codigo del form, tu boton tiene un value="Buscar", entonces es por ese valor que comparar el boton
<input type="submit" name="Buscar" id="Buscar" value="Buscar" />, pero el objeto se llama Buscar no "Votar", entonces el If es asi:

if ($_POST[Buscar] == "Buscar")
{
asi deberia entrar
}

Última edición por josefferhn; 21/07/2010 a las 14:12
  #12 (permalink)  
Antiguo 21/07/2010, 14:14
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

jose porfa explicame eso de colocar un textbox hidden en el form porfa explicame como seria por ejemplo porfa!!!! es q imprimi el $_POST['Votar'] y no me muestra nada porfa jose dame un ejemplo de como quedaria eso del textbox hidden en el form please estoy desesperado!!!! ayuda!!! de antemano gracias...
  #13 (permalink)  
Antiguo 21/07/2010, 14:27
Avatar de josefferhn  
Fecha de Ingreso: agosto-2007
Ubicación: Tegucigalpa, Fco Morazan
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

bien, el echo no te sirve para el if ($_POST['Votar']), sino que es
Código PHP:
 if ($_POST['Buscar'] ) 
, has un echo con $_POST['Buscar'].

bien lo del campo hidden es un tipo objeto que el usuario no ve, porque esta como lo dice el mismo oculto. asi como tienes tu objeto de texto, en cualquier parte del codigo HTML pones lo siguiente:

<input name="CampoVotar" type="hidden" id="CampoVotar" value="1" />

bien puesto eso, ahora asi has el IF con el argumento del "CampoVotar"

if ($_POST['CampoVotar'] == "1")
{
asi deberia entrar
}

listo, creo que ya con eso deberia solucionarse
  #14 (permalink)  
Antiguo 21/07/2010, 14:29
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

jose lo hice como me indicaste if($_POST['Buscar']=="Buscar") y claro entra al if pero no me sirve pq aun q no encuentre ninguna imagen con ese nombre igual me actualiza el voto y no se ccomo hacerlo para q funcione desde el boton Votar!!!! porfavor alguna sugerencia o guiaaaaaaaa se los ruego esto me esta superando!!! porfavor ayudaaa amigos!!!! de antemano gracias...
  #15 (permalink)  
Antiguo 21/07/2010, 14:46
Avatar de josefferhn  
Fecha de Ingreso: agosto-2007
Ubicación: Tegucigalpa, Fco Morazan
Mensajes: 27
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

ok, antes que todo tienes que decidir en que momento se hara el voto si en la busqueda o en otro proceso para cuando te devolvo resultados tu busqueda, actualmente tienes que cuando presione Buscar, igual se hace el voto aunque no halla encontrado nada:


antes del UPDATE, has un mysql_num_rows($buscar_nombre_artista), si te devulve mas de 1, entonces haces el update, hazlo en un IF.

Última edición por josefferhn; 21/07/2010 a las 14:58
  #16 (permalink)  
Antiguo 21/07/2010, 17:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

hola jose es q no se si me entiendes pero yo necesito q justo al aparecer la imagen q busco por el criterio nombre, q me aparesca la imagen con el boton abajito de esta q dice votar y q recien al acer click en votar se me actualice el valor del voto para esa foto, he tratado imprimiento el $_POST['Votar'] y no me muestra nada tambien he intendo imprimiendola print_r ($Votar) y tampoco muestra nada, no hayo como hacerlo para entrar al if de Votar pq necesitgo si o si entrar a ese if para aumentar el voto y no se pq no me entra ni tampoco se como lograr q me muestre eel pq no entra porfavor amigos ayuda!!!!! de antemano gracias
  #17 (permalink)  
Antiguo 22/07/2010, 10:13
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problemas al dar click al boton Votar con PHP y Mysql

porfavor amigos ayudenme!!!! aun no logro q al hacer click en el boton Votar me entre al if para incrementar el voto, no encuentro la manera de q al presionar el boton votar me entre al if($_POST['Votar']) para q haga lo hay ahi dentro de ese if y asi se pueda actualizar el voto.... porfavor amigos ruego me guien para ver el pq no esta entrando a ese if y/o como lo puedo hacer para q entre al if al ser presionado.... ruego su ayuda amigos!!!! de antemano gracias!!!!

Etiquetas: dar, mysql, votar, botones
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




La zona horaria es GMT -6. Ahora son las 23:22.