Foros del Web » Programando para Internet » Javascript »

Pasar variables de javascript por formulario post para meterlas en una BD.

Estas en el tema de Pasar variables de javascript por formulario post para meterlas en una BD. en el foro de Javascript en Foros del Web. Ante todo gracias por leerme y aclarar que he buscado la solución por mis medios y no la he encontrado... No se muy bien en ...
  #1 (permalink)  
Antiguo 27/03/2011, 16:35
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 2 meses
Puntos: 1
Pregunta Pasar variables de javascript por formulario post para meterlas en una BD.

Ante todo gracias por leerme y aclarar que he buscado la solución por mis medios y no la he encontrado... No se muy bien en que foro debería ir pero las variables que quiero pasar a la BD son javascript.
Estoy creando una aplicación web (un juego de navegador). Principalmente está hecha en PHP pero un amigo programador me sugirió usar jquery para crear la interface mediante la cual el jugador, durante la creación de personaje reparte unos puntos entre los atributos (fuerza, destreza, etc). Pulsando unos botones el jugador manipula unas variables y suma o resta puntos. El resultado debería guardarse en la base de datos junto con el nombre de personaje y su clase, que son pasadas por un formulario post e insertadas en la BD mediante una sql_query() en PHP.
He leído que esto se puede hacer con campos ocultos en el formulario pero no tengo claro como hacerlo. También he leído que se pueden pasar datos post con ajax sin recargar la pagina pero es que, en mi caso, hasta que no se ha recargado no se insertan datos en la BD... Lo ideal sería mandarla por post en el formulario, para que el PHP las recupere como variables $_POST y las pueda insertar en la base de datos...
Alguien ha entendido mis desvaríos y me puede poner un ejemplo de como hacerlo? Gracias por anticipado...
  #2 (permalink)  
Antiguo 27/03/2011, 17:49
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Pasar variables de javascript por formulario post para meterlas en una BD.

Lo de los hidden es algo asi:
Cita:
<input type="hidden" val="5" name="fuerza" id="fuerza" />

$("#boton_mas_fuerza").click(function(){

$("#fuerza").val(function(index, value) {
return Number(value) + 1 ;
});

})


$("#boton_menos_fuerza").click(function(){

$("#fuerza").val(function(index, value) {
return Number(value) - 1 ;
});

})
Lo de enviar por ajax tambien es facil, aqui un ejemplo sencillo pasando las variables fuerza y velocidad y recibiendo los datos en formato json

Cita:
$.post("grabar.php", { fuerza: "30", velocidad: "666" },
function(data) {
alert(data.status);
alert(data.nivel);
},
"json"
);
PHP tiene la funcion json_encode() asi que imprimir los datos en json es muy breve:

grabar.php
Cita:
$arr = array ('status'=>"ok",'nivel'=>2);
echo json_encode($arr);
  #3 (permalink)  
Antiguo 27/03/2011, 19:17
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 2 meses
Puntos: 1
De acuerdo Resuelto

InKarC eres mi nuevo ídolo!! Con las vueltas que he dado y las cosas q he intentado y con tu ejemplo me ha salido a la primera...
Es muy interesante lo de mandar variables en json por ajax, pero al haber por medio un envio de formulario post lo ideal en este caso son los input hidden.
La funcion que llama el boton fuerza+1 ha quedado asi:
Cita:
function mas(atributo)
{
switch(atributo)
{
case "fue":
if(fue<maximo && puntos>0)
{
fue += 1;
puntos -= 1;
$("#divFue").html(fue);
$("#pasarFue").val(fue);
}
break;
}
$("#divPuntos").html("Puntos a repartir: "+puntos);
}
Al enviar el formulario hago con éxito un echo del valor correcto de la variable fuerza. Ahora me falta adaptarlo todo a este sistema pero se puede decir que está resuelto! Mil gracias!
  #4 (permalink)  
Antiguo 27/03/2011, 22:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 21
Antigüedad: 16 años, 2 meses
Puntos: 1
De acuerdo Confirmación

He terminado de implementar todo el asunto y funciona de maravilla... ^^ Un pasito más en la conquista del mundo!!! xD

Etiquetas: bbdd, variables
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 17:16.