Foros del Web » Programando para Internet » Javascript »

Pasar Variable de JAVASCRIPT a variable de PHP

Estas en el tema de Pasar Variable de JAVASCRIPT a variable de PHP en el foro de Javascript en Foros del Web. Hola a todos. Mi consulta es la siguiente. Necesito asignar ó pasar una variable de JAVASCRIPT a una variable en PHP. Es algo como esto: ...
  #1 (permalink)  
Antiguo 18/04/2008, 10:35
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
Información Pasar Variable de JAVASCRIPT a variable de PHP

Hola a todos.

Mi consulta es la siguiente.
Necesito asignar ó pasar una variable de JAVASCRIPT a una variable en PHP. Es algo como esto:

VARIABLE_PHP = VARIABLE_JAVASCRIPT;

Tengo una página donde muestro una foto a la vez con su respectiva descripción. Tengo un combo que tiene "n" cantidad de fotos. Cada que se da click en una opción de ese único combo, me muestra la foto y su descripción.

La variable "VARIABLE_JAVASCRIPT" la estoy "capturando" después de haberse hecho click en un combo que me va cambiando las fotos. Y otro aspecto importante, es q la página donde está el combo no se puede refrescar al dar click en cada opción del combo. Esa es la razónpor la que estoy haciendo eso.

Si no se pudiera hacer esto:

VARIABLE_PHP = VARIABLE_JAVASCRIPT;

Entonces supongo que existe alguna opción en donde se pueda utilizar
VARIABLE_PHP = VARIABLE_AJAX;

Gracias a todos y le agradezco la respuesta de antemano.
Saludos.
  #2 (permalink)  
Antiguo 18/04/2008, 10:42
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Pasar Variable de JAVASCRIPT a variable de PHP

Hola ghidalgoram. Bienvenid@ al foro.

Para hacer preguntas es preferible utilizar el foro que mejor se adapte a tu duda, así podrán ayudarte más usuarios.

Muevo tu mensaje al foro de JavaScript desde Bienvenida a Foros del Web.

Saludos,
  #3 (permalink)  
Antiguo 18/04/2008, 11:27
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Re: Pasar Variable de JAVASCRIPT a variable de PHP

Hola,
Por lo que yo se (que no es mucho) no tengo muy claro si se puede hacer lo de variable_php = variable_javascript. Pero si que se que con el AJAX esto que pides es muy simple.

En cualquier tutorial de AJAX miras como pasar algo por post y ya está.
Personalmente te recomiendo el de este link.
  #4 (permalink)  
Antiguo 21/04/2008, 11:52
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
Re: Pasar Variable de JAVASCRIPT a variable de PHP

De acuerdo Javier. Tomaré tu sugerencia.
También crujikoki gracias por tu ayuda.

/*/*/*/*/*/*/*/*//*/*/*/*/*/*/*/*/
Tan solo si no es mucho pedir,.. solo me gustaría tener un ejemplo sencillo de la sintáxis que debo aplicar para hacer esta asignación.

Por ejemplo:

document.combo_photos.value = VAR_AJAX;


He estado investigando un poco por internet y me salen algunos métodos de Ajax, que prefiero consultarles primero,.. ya que estoy empezando a utilizar AJAX. Me salido el "xmlHttp.responseText" que no sé si ese es el que debó utilizar y como utilizar. Se que debe ser muy sencillo.

A ver si alguno me pudiera ayudar. Gracias a los amigos que me ayudaron antes, pero necesito un poco más información.
Gracias.
Gregory Hidalgo.
  #5 (permalink)  
Antiguo 21/04/2008, 11:53
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
Re: Pasar Variable de JAVASCRIPT a variable de PHP

De acuerdo Javier. Tomaré tu sugerencia.
También crujikoki gracias por tu ayuda.

/*/*/*/*/*/*/*/*//*/*/*/*/*/*/*/*/
Tan solo si no es mucho pedir,.. solo me gustaría tener un ejemplo sencillo de la sintáxis que debo aplicar para hacer esta asignación.

Por ejemplo:

document.combo_photos.value = VAR_AJAX;


He estado investigando un poco por internet y me salen algunos métodos de Ajax, que prefiero consultarles primero,.. ya que estoy empezando a utilizar AJAX. Me salido el "xmlHttp.responseText" que no sé si ese es el que debó utilizar y como utilizar. Se que debe ser muy sencillo.

A ver si alguno me pudiera ayudar. Gracias a los amigos que me ayudaron antes, pero necesito un poco más información.
Gracias.
Gregory Hidalgo.
  #6 (permalink)  
Antiguo 21/04/2008, 14:54
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Re: Pasar Variable de JAVASCRIPT a variable de PHP

Yo lo hago así:

Primero hago la función con la que instanciaré el objeto ajax:
Código PHP:
function objetoAjax()
{
    var 
xmlhttp=false;
    try
    {
        
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (
e)
    {
        try
        {
           
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (
e)
        {
            
xmlhttp false;
      }
    }

    if (!
xmlhttp && typeof XMLHttpRequest!='undefined')
    {
        
xmlhttp = new XMLHttpRequest();
    }
    return 
xmlhttp;

Y luego, en mi función con la que le mandaré los datos al PHP hago esto:

Código PHP:
function miFuncion()
{
    
//obtener valores a enviar
    
    
variable1 menu.document.getElementById("miInput1").value;
    
    
variable2 menu.document.getElementById("miInput2").value;
    
    
//instanciamos el objetoAjax
    
ajax=objetoAjax();
            
    
ajax.open("POST""miPaginaDeDestino.php",true);
            
    
ajax.onreadystatechange=function()
    {
        if (
ajax.readyState==4)
        {
            
division menu.document.getElementById("miDivision");
                    
division.innerHTML ajax.responseText;
                }
            }
            
            
//esto no se que es
            
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            
            
//envio los valores
          
ajax.send("texto1="+variable1+"&texto2="+variable2);

En este caso lo paso por POST pero también lo puedes pasar por GET. Hecho esto, solo tienes que ir a la página php a la que le has enviado los datos y hacer $_POST["texto1"] para la variable1 y lo mismo para la variable2.

Otra cosa importante es el ajax.onreadystatechange, al que le asignas una función para que se ejecute en cuanto cambie. Puedes controlar varios estados del envio y recepción, pero cuando se cumple if (ajax.readyState==4) es cuando el envio y la recepción ya han finalizado.

Por último, el contenido de la respuesta de tu página PHP lo obtienes de ajax.responseText;. Que en mi caso lo inserto dentro de una division division.innerHTML = ajax.responseText;.

Para hacer que tu php mande datos de vuelta basta con que hagas un echo y ese echo es lo que aparecerá dentro del <div> al hacer division.innerHTML = ajax.responseText;.

Te pongo un ejemplo de una posible respuesta de tu PHP:

Código PHP:
<?php
    $con 
mysql_connect("xxxxxx","xxxxxxx","xxxxxx");
    if (!
$con)
      die(
'Impossible connectar: ' mysql_error());
    
mysql_select_db("yyyyyy"$con);
    
    
$sql "SELECT Poblacion FROM datos WHERE Provincia = '".$_POST['provincia']."'";
    
    
$result mysql_query($sql,$con);
    
$vector = array();
    
$poblaciones = array();
    
$num mysql_num_rows($result);
    
    if(
$num 0)
    {
        echo 
"<span class=\"standard\">Poblacion: </span><select name=\"selPoblacion\" id=\"selPoblacion\">";
        echo 
"<option value=\"0\">Todas las poblaciones</option>";

        while(
$registro mysql_fetch_array($result))
        {
            
array_push($vector,$registro['Poblacion']);
        }
        
        
$poblaciones array_unique($vector);
        
$longitud count($poblaciones);
            for(
$i=0$i $longitud$i++)
            {
                
$j $i 1;
                
$nombre array_shift($poblaciones);
                echo 
"<option value=\"$j\">".$nombre."</option>";
            }
            echo 
"</select>";
    }
    else
    {
        echo 
"error";
    }
?>
Ese es un documento que yo he usado para crear un select con las poblaciones de la provincia seleccionada anteriormente. Esa provincia la he mandado por POST y al seleccinarla en el select aparece otro select con las poblaciones que existen en mi BBDD que son de esa provincia. Y esto es todo.
Siento no explicartelo mejor.

Te he contestado, pero creo que no es el sitio adecuado para preguntar sobre el AJAX. Te creo que si te pasas por ahí quizás te contestarán mejor que yo.

Saludos!
  #7 (permalink)  
Antiguo 24/04/2008, 09:23
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 2 meses
Puntos: 7
Re: Pasar Variable de JAVASCRIPT a variable de PHP

Excelente crujikoki. También, muchas gracias a los demás amigos por su dedicación y tiempo. Que Dios bendiga sus vidas grandemente.
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:17.