Foros del Web » Programando para Internet » Javascript »

problema con sistema de votos

Estas en el tema de problema con sistema de votos en el foro de Javascript en Foros del Web. Hola amig@s. Estoy tratando de realizar un sistema de votación de artículos en mi aplicación web, para lo cual uso unos script que encontré y ...
  #1 (permalink)  
Antiguo 29/12/2009, 02:38
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
problema con sistema de votos

Hola amig@s.

Estoy tratando de realizar un sistema de votación de artículos en mi aplicación web, para lo cual uso unos script que encontré y la librería jquery como dice en esta web
Código:
http://turbia.net/tutorial/730.htm
En los ejemplos de esta web se hace la votación por un menú desplegable y un botón, pero io lo estoy modificando para hacerlo con las estrellitas que se iluminan en el evento :hover. Bueno, digamos que en lugar de un formulario, lo que pretendo hacer es iamar a una función javascript desde mi código php pasándole una serie de parámetros.
Por ejemplo, suponiendo que tengo la función javascript votar que recibe la ip del usuario
Código:
<script type='text/javascript'>
function Votar(ip)
{
  alert('entro en votar');
}
</script>
Ahora mismo no hace nada, pues mi problema está en que no consigo acceder a eia.

Con php recojo la ip del usuario
Código:
$ip = $_SERVER['REMOTE_ADDR'];
y con php iamo a votar pasándole la variable $ip
Código:
echo"<li><a href='javascript:Votar($ip);' title='No me gusta nada (1 estrella sobre 5)' class='one-star'><span>1</span></a></li>";
Bien, hasta este punto he iegado, si iamo a Votar(ip) con la variable $ip como parámetro no entra en la función, por lo tanto no me muestra el mensaje.
En cambio, si iamo a Votar(ip) con valor = 1, osea Votar(1); entra estupendamente y me muestra el mensajito.

Alguien me puede decir por qué no me deja mandar el valor de la variable $ip o cómo podría hacerlo correctamente??

Gracias compañer@s!!
  #2 (permalink)  
Antiguo 29/12/2009, 02:55
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: problema con sistema de votos

en tu funcion estas pasando un valor que javascript no reconoce. es decir, si literalmente se introduce un ip como 127.0.0.1, javascript intentara interpretarlo como numero pero al tener multiples puntos considera que en algun lugar debe separarse el literal con un punto y coma. la solucion, ese valor tienes que pasarlo como un string literal.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 29/12/2009, 03:16
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: problema con sistema de votos

Gracias zerokilled.

En este rato que ha pasado desde que escribí el post se me ha antojado también que podía ser por algo de lo que tú me comentas. Pero como no consigo crear la sintaxis para pasarlo como una cadena literal(Entre comillas te refieres, no?) probé la función
Código:
setType($variable,"nuevo_tipo");
Donde $variable es mi variable $ip y "nuevo_tipo" es "string", pero tampoco hace nada.

Si me equivoco, a qué te refieres con "cadena literal" o cómo podría construirla?? ten en cuenta que mi código es php, imprimiendo todo con php también.

Muchas gracias!!
  #4 (permalink)  
Antiguo 29/12/2009, 11:42
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: problema con sistema de votos

si, me refiero a poner el valor entre comillas dobles o simple segun el caso lo permita. en la siguiente linea, notese que se ha escapado las comillas dobles.
Código:
echo"<li><a href='javascript:Votar(\"$ip\");' title='No me gusta nada (1 estrella sobre 5)' class='one-star'><span>1</span></a></li>";
en este caso, comilla dobles porque el valor del atributo href se compone con comilla simple. en adicion, hay que escapar las comillas dobles porque de lo contrario php lo interpretara como finalizacion de string.

Cita:
a qué te refieres con "cadena literal" o cómo podría construirla??
literal se refiere a un valor que aparece directamente en el codigo, puede ser un numero, string, booleano u otro tipo de valores. para crearlo, simplemente se incluye el valor directamente en el codigo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 06/01/2010, 04:59
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: problema con sistema de votos

Después de las vacaciones hay que volver al trabajo...

Muchas gracias zerokilled, finalmente le he puesto este código y ha funcionado.
Código:
<li><a href ='javascript:Votar(\"$ip\", ".$row_noticia['ID'].", 1);' title='No me gusta nada (1 estrella sobre 5)' class='one-star'><span>1</span></a></li>
Gracias de nuevo y feliz año!!
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 22:11.