Foros del Web » Programando para Internet » PHP »

variable de JAVASCRIPT a PHP

Estas en el tema de variable de JAVASCRIPT a PHP en el foro de PHP en Foros del Web. Buenas, antes de nada ya he estado buscando y he encontrado la siguiente solucion: $variable = <script> getElementById.. </script> Pero a mi esa forma no ...
  #1 (permalink)  
Antiguo 25/10/2011, 05:05
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 14 años, 6 meses
Puntos: 2
variable de JAVASCRIPT a PHP

Buenas, antes de nada ya he estado buscando y he encontrado la siguiente solucion:

$variable = <script> getElementById.. </script>

Pero a mi esa forma no me vale porque yo tengo una función javascript, y dentro de esa función tengo un codigo PHP, de la siguiente forma:

Código:
<script>
   myFuncion() {

      var varJS = "hola";

      <?php   $myVariable;   ?>

   } 
</script>

como puedo hacer lo siguiente dentro de ese script?:
$myVariable = varJS;

LLevo un buen rato intentandolo, pero no lo consigo, alguna sugerencia?


gracias por anticipado
  #2 (permalink)  
Antiguo 25/10/2011, 06:53
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: variable de JAVASCRIPT a PHP

simple, no puedes. Es imposible que envíes datos directamente desde javascript a PHP, lo mas cercano es hacer llamadas asincronicas AJAX.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 25/10/2011, 07:04
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: variable de JAVASCRIPT a PHP

Cita:
lo mas cercano es hacer llamadas asincronicas AJAX
Al fin y al cabo AJAX es javascript, ya se que no se puede hacer: "variaPHP = variableJS", lo que busco es la manera más facil de hacer eso mediante algún apaño. Porque poderse se puede (se ve mucho algunos formularios que al seleccionar de una lista de SELECTs, accede a la BD para mostrarte unos valores u otros).


Entonces ya se que directamente no se puede hacer, pero cual es el apaño mas simple para hacer eso? Es que a mi se me ocurren algunas cosas pero son demasiado engorrosas
  #4 (permalink)  
Antiguo 25/10/2011, 11:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: variable de JAVASCRIPT a PHP

Ya te lo comentaron, es con AJAX, todo eso que ves, usa AJAX para transferir una variable y ejecutar algún proceso en el servidor.

Saludos.
  #5 (permalink)  
Antiguo 25/10/2011, 12:23
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: variable de JAVASCRIPT a PHP

Puedes investigar un poco, librerías javaScript como Jquery simplifican muchísimo el uso de llamadas asincronicas.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 25/10/2011, 15:25
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: variable de JAVASCRIPT a PHP

Código Javascript:
Ver original
  1. function nuevoAjax()
  2. {
  3.     /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
  4.     lo que se puede copiar tal como esta aqui */
  5.     var xmlhttp=false;
  6.     try
  7.     {
  8.         // Creacion del objeto AJAX para navegadores no IE
  9.         xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  10.     }
  11.     catch(e)
  12.     {
  13.         try
  14.         {
  15.             // Creacion del objet AJAX para IE
  16.             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  17.         }
  18.         catch(E)
  19.         {
  20.             if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
  21.         }
  22.     }
  23.     return xmlhttp;
  24. }
  25. function lista(valor)
  26. {
  27.     var ajax=nuevoAjax();
  28.     ajax.open("GET", "url.php?valor="+valor, true);
  29. }
  #7 (permalink)  
Antiguo 25/10/2011, 18:03
 
Fecha de Ingreso: octubre-2009
Mensajes: 103
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: variable de JAVASCRIPT a PHP

Ese código es el que tenía de un principio, y por ejemplo para insertar datos en una BD sin recargar la página me funciona bien.

El problema es que yo quiero justamente lo contrario. Si tengo un LABEL vacío, quiero que al pulsar un botón se acceda a la BD y el LABEL se rellene con la información de la BD.... y no veo la manera de hacerlo :(


La idea que yo tenía pensada era la siguiente, pero no logro que funcione:

1. Cargo index.PHP

2. hago llamada AJAX hacia leerBD.php para que acceda a la BD //<--

3. Envío los valores leídos de la BD desde leerBD.php hacia index.PHP (sin recargar index.php) //<-- aqui es donde fallo, no logro enviar esos valores hacia el index.php

---------


De momento lo unico que se me ha ocurrido y funcione, es cargar de la BD todos los posibles candidatos a mostrar en un array PHP, y despues de que el usuario elija lo que quiere mostrar, hago algo como: if(varJS == <?php echo $elementoArray[1]?>) { //y escribo en los label }

... a alguien se le ocurre algo mejor?

Última edición por rulzzz; 25/10/2011 a las 19:22
  #8 (permalink)  
Antiguo 25/10/2011, 21:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: variable de JAVASCRIPT a PHP

Pues si ya tienes el código AJAX simplemente es que hagas el envio, por ejemplo usando jQuery:
Código Javascript:
Ver original
  1. jQuery.json('leerBD.php', {valor: jQuery('#mitext')}, function(json) {
  2.      if (json.response == "notfree") {
  3.             alert("ya existe");
  4.      }
  5. });

Después desde PHP simplemente haces la consulta y regresas un JSON:
Código PHP:
Ver original
  1. <?php
  2.  
  3. // Consultas a tu BD
  4. $empresa = $_POST['valor'];
  5.  
  6. $response = array();
  7. if ($existe) {
  8.       $response['response'] = 'notfree';
  9. }
  10.  
  11. header("Content-type: text/json");
  12. echo json_encode($response);

Saludos.

Etiquetas: javascript, 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 10:52.