Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Recuperar una variable desde JS a PHP

Estas en el tema de Recuperar una variable desde JS a PHP en el foro de PHP en Foros del Web. Hola amigos, tengo una función en JS que al llamarla, me abre una ventana modal y le asigna a un campo input un valor, y ...
  #1 (permalink)  
Antiguo 04/06/2017, 19:46
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Sonrisa Recuperar una variable desde JS a PHP

Hola amigos, tengo una función en JS que al llamarla, me abre una ventana modal y le asigna a un campo input un valor, y todo perfecto hasta allí.
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $('#my_modal').on('show.bs.modal', function(e) {
  3.     var bookId = $(e.relatedTarget).data('book-id');
  4.     $(e.currentTarget).find('input[name="bookId"]').val(bookId);
  5. });
  6. </script>
En PHP mi campo input con su valor que le asigna el JS
Código PHP:
<input type="text" name="bookId" value=""
Pero ahora no sé como almacenar tambien dicho valor "bookId" en una variable en PHP ?, es decir, ya lo tengo en el input, cómo lo almaceno en una variable en lugar de enviarlo al input
  #2 (permalink)  
Antiguo 05/06/2017, 00:08
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 18 años, 9 meses
Puntos: 23
Respuesta: Recuperar una variable desde JS a PHP

Hola julia2025!

Primero lo primero. Hay que separar JavaScript(js) de PHP. JavaScript trabaja de lado del cliente, pc, mac, movil, etc.. Mientras que PHP trabaja de lado del servidor. Cuando un script de PHP es ejecutado se procesa en el servidor he imprime el resultado en forma de HTML y esto incluye el JavaScript.

Ahora lo que puedes hacer es mandar por medio de AJAX la variable js a un PHP para que este almacene el valor en una variable de sesión, pero dicho valor no estará disponible hasta que se recargue la pagina o por medio de AJAX de nuevo consultes la variable de sesión.

Saludos!
__________________
Un buen programa depende de la imaginación.
  #3 (permalink)  
Antiguo 06/06/2017, 09:48
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Respuesta: Recuperar una variable desde JS a PHP

Hola Turdo, gracias por tu ayuda, te entiendo, he estado leyendo sobre eso, pero tengo la siguiente duda, así como la línea $(e.currentTarget).find('input[name="bookId"]').val(bookId); le asigna el valor al input, no puedo tener una línea del tipo $MiVariable = ... y así poder tener el valor a nivel de PHP sin necesidad de recargar la página ?
  #4 (permalink)  
Antiguo 06/06/2017, 11:37
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 18 años, 9 meses
Puntos: 23
Respuesta: Recuperar una variable desde JS a PHP

Cita:
Iniciado por julia2021 Ver Mensaje
Hola Turdo, gracias por tu ayuda, te entiendo, he estado leyendo sobre eso, pero tengo la siguiente duda, así como la línea $(e.currentTarget).find('input[name="bookId"]').val(bookId); le asigna el valor al input, no puedo tener una línea del tipo $MiVariable = ... y así poder tener el valor a nivel de PHP sin necesidad de recargar la página ?
No al menos que el valor lo tengas desde antes de cargar la pagina o mientras se interpreta, como por ejemplo, al consultar una base de datos o de una variable de sesión; ya que PHP al ser un script de lado del servidor se interpreta en orden linea por linea de arriba hacia abajo (Se puede modificar ese comportamiento). Ahora lo que tu busca es algo asi:
Código PHP:
Ver original
  1. echo '<input type="text" name="bookId" value='.$variable_PHP.'>'

Entonces no veo la necesidad de que PHP le asigne un valor. Eso lo puedes hacer desde JS. Como estas usando JQuery investiga como agregarle el valor desde JS. Ya que cuando mandes el formulario, PHP obtendrá por medio de POST el valor del input. Todo esto haciendo la suposición de que vas a mandar el valor del input por un formulario puesto que no has dado el contexto para que lo vas a usar.

Saludos!
__________________
Un buen programa depende de la imaginación.
  #5 (permalink)  
Antiguo 06/06/2017, 12:28
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Sonrisa Respuesta: Recuperar una variable desde JS a PHP

Ok Turdo, te estoy siguiendo y me estas abriendo la mente, Gracias. Claro, entre lo que me dices y lo que estoy leyendo estoy entendiendo más. Pero ahora de sale otra pregunta: cómo puedo modificar mi script original para que en lugar de devolver un solo input con su valor, me devuelva dos inputs ?
Me explico con código:
ORIGINAL:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $('#my_modal').on('show.bs.modal', function(e) {
  3.     var bookId = $(e.relatedTarget).data('book-id');
  4.     $(e.currentTarget).find('input[name="bookId"]').val(bookId);
  5. });
  6. </script>
MODIFICADO PARA DEVOLVER 2 INPUTS:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $('#my_modal').on('show.bs.modal', function(e,a) {
  3.     var bookId = $(e.relatedTarget).data('book-id');
  4.     $(e.currentTarget).find('input[name="bookId"]').val(bookId);
  5.     var bookNombre = $(a.relatedTarget).data('book-nombre');
  6.     $(a.currentTarget).find('input[name="bookNombre"]').val(bookNombre);
  7. });
  8. </script>
Esta modificación no me funciona, pues definitivamente no es así, pero espero poder explicar mi idea con esas últimas líneas.
  #6 (permalink)  
Antiguo 07/06/2017, 15:06
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 18 años, 9 meses
Puntos: 23
Respuesta: Recuperar una variable desde JS a PHP

Tal vez así:

Código Java:
Ver original
  1. <script type="text/javascript">
  2. $('#my_modal').on('show.bs.modal', function(e) {
  3.     var bookId = $(e.relatedTarget).data('book-id');
  4.     $(e.currentTarget).find('input[name="bookId"]').val(bookId);
  5.     var bookNombre = $(e.relatedTarget).data('book-nombre');
  6.     $(e.currentTarget).find('input[name="bookNombre"]').val(bookNombre);
  7. });
  8. </script>
__________________
Un buen programa depende de la imaginación.

Etiquetas: 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 21:13.