Hace 4 años

Como pasar variables de Javascript a PHP y viceversa

Mientras programaba mi web, una de las dudas que me surgió es como pasar datos de PHP a javaScript, o al revés. Sirva esta información como chuleta.

JavaScript trabaja en el lado del cliente y PHP lo hace en el lado del servidor, por lo cual el valor no pasa de PHP a JavaScript o al revés. Lo que hace realmente es presentarnos el valor en pantalla, como formato de texto.

De PHP a Javascript

<?php $variablePHP = “contenido de la variable php”; ?>
<script>
var variableJS = “<?php echo $variablePHP; ?>” ;
document.write(“VariableJS = ” + variableJS);
</script>

De Javascript a PHP

<script> var variableJS = “contenido de la variable javascript”; </script>
<?php
$variablePHP = “<script> document.write(variableJS) </script>”;
echo “variablePHP = “.$variablePHP;
?>

Diseño web
,
51756
25

25 comentarios

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  • Luis Felipe Ramirez dice:

    Te hablo de Colombia Huila, me sirvio el codigo. Gracias…

  • Juan dice:

    Hola que tal mi amigo, quisiera q me pudiera ayudar a resolver mi siguiente problema:
    tengo una funcion javascritp:
    function prueb()
    {
    var i=5;
    …codigo javascript
    }
    No se como pasar el contenido de la variable ” i ” a la variable $temp de php.
    Si me hicieran favor de ayudarme se lo agradeceria.

    • Jhosue dice:

      Como ya digo en el articulo, con estas lineas de código solo se pasan los datos de un lenguaje a otro para presentarlos en pantalla, no quedan guardados en las variables. Para hacerlo habría que hacerlo a través del INPUT o usando AJAX. Dónde posiblemente te pueden ayudar mejor sería en la siguiente web http://entredesarrolladores.com/

  • Gabriel Araya Garcia dice:

    De JS a HTML para poder mandar dicha vaiable en un HREF ¿como seria?

  • Felix daniel velazquez dice:

    Hola estoy intentando pasar una VALOR DE LA VARIABLE DE script a php pero no funciona ejemplo esto es un parrafo :
    var nombre_medico = sessvars.Xnombre;

    en php
    <?php
    // —————– pasando valores del script a php ——————————————–
    $medico = " document.write(nombre_medico) “;
    ? php
    si uso echo $medico me muestra elnombre del medico el. dr. martines hasta aqui ok
    pero pretendo cargar un imput de un formulario con este valor
    <form action="” method=”post” name=”carga” id=”carga”>
    Matricula del DR(a).:
    <input type="text" name="mat_medico" value ='’ size=”32″/>
    ..
    y en lugar de mostrame el VALOR (DR. MARTINES) ME MUESTRA
    document.write(nombre_medico)
    no su valor cual seria una solución.

    • Jhosue dice:

      Como ya he dicho con este método solo se presentan los datos en pantalla, no es posible pasar los datos del cliente al servidor o viceversa. Para pasarlas al servidor y guardar las variables en la base de datos, habría que hacerlo a través del INPUT o usando AJAX.

  • gucho dice:

    Se dice que el segundo ejemplo no guarda en realidad la variable, solo imprime lo que pasaste. Verifica eso

  • cintya dice:

    a no habia leido los comentario de abajo :p ok ya medio entendi aunq aun asi no veo la respuesta de como jaja

  • cintya dice:

    Amigo como puedo guardar eso en una base de datos?

    • Jhosue dice:

      Te recomiendo que leas mi articulo dónde encontrarás documentación sobre PHP, para realizar cualquier proyecto. También puedes encontrar Snippets (pequeñas utilidades) que te pueden servir para añadir o adaptarlo a tu proyecto.

      • cintya dice:

        Video-tutorial de los fundamentos del PHP
        Manual PHP
        Tutorial PHP Tizag
        Tutoriales Bufa
        Hot Scripts – Scripts para PHP y otros lenguajes
        Recursos Scripts PHP
        Desarrolloweb, scripts PHP
        Tutorial PHP
        DocHub Documentación
        Snippets PHP
        Dzone snippets PHP
        CSS-Tricks snippets PHP

        de todos esos donde puedo encontrar el que necesito? te juro q me estoy rompiendo la cabeza y no encuentro lo que quiero. me comentaron q con ajax pero ayi si estoy frita. agradeceria millones tu ayuda amigo 😉

  • Miguel dice:

    Pregunta tengo este codigo de la api de geolocalizacion de html5 y necesito guardar los valores de las variables lat y lon en mi base de datos con php como se hace el proces0 ?

    var lat,lon, url, enviado;
    $(document).on(“ready”, inicio);
    function inicio (){
    geolocalizar();
    }
    function geolocalizar () {
    navigator.geolocation.getCurrentPosition(mostrar, correrEnCirculos);
    }
    function correrEnCirculos(pasado){
    alert(“No pasa nada”);
    console.log(pasado);
    }
    function mostrar(geo){
    lat= geo.coords.latitude;
    lon= geo.coords.longitude;
    }

    • Jhosue dice:

      Como ya he dicho con este método solo lo presenta en pantalla, no es posible pasar los datos del cliente al servidor o viceversa. Para pasarlas al servidor y guardar las variables en la base de datos, habría que hacerlo a través del INPUT o usando AJAX.

      Sin embargo se me ocurre que podrías mirar hacerlo directamente con PHP. Prueba a buscar en Google poniendo ‘geolocalizacion en php’.

      Mira por ejemplo en este manual a ver si te sirve:
      http://www.php.net/manual/es/book.geoip.php

  • Jhosue dice:

    Como ya he dejado claro, en realidad no se pasa ningún dato de un lenguaje a otro, tan solo lo presenta en pantalla. Para realmente trabajar con los datos en uno y otro lado habría que usar otro sistema. Según tengo entendido habrían tres formas. Una es a través de las COCKIES, otra es a través del INPUT y otra es usando AJAX.

  • fernando dice:

    Tengo todas las variables en JavaScript y pasan de un formulario a otro sin problema pero necesito colar un sumatorio de PHP y hay una variable que la tengo en JavaScript y no la consigo pasar a variable PHP para que me filtre, he intentado el write de java etc… y mil formulas combinaciones diferentes… ALGUNA SUGERENCIA
    function actualizar_importe()
    {
    var cantidad=document.getElementById(“cantidad”).value;
    var unidadescajas=document.getElementById(“unidadescajas”).value;
    var cajas=document.getElementById(“cajas”).value;
    cantidad=cajas*unidadescajas;
    var result=Math.round(cantidad) ;
    document.getElementById(“cantidad”).value=result;
    —————— Aqui empieza mi calvario —————————– recojo la variable “codarticulo” y la puedo mostrar en el formulario … en un campo de texto
    var codpruebas1 = document.getElementById(“codarticulo”).value;
    var result3=Math.round(codpruebas1) ;
    document.getElementById(“codpruebas1”).value=result3;
    AHORA NO SE COMO TRASPASAR LA VARIABLE QUE TRAIGO DEL OTRO FORMULARIO —
    <?php
    $a= 'document.write(“codpruebas1”);’;
    $result = mysql_query(“SELECT SUM(cajas) as cajas_codigobarras FROM barraslineatmp WHERE codalbaran=’$codalbarantmp ‘ AND codigo=’$a'”);
    $query_data=mysql_fetch_array($result);
    $cajas_codigobarras= (float) $query_data[“cajas_codigobarras”];
    ?>
    — esto funciona perfectamente — muestro el SELECT DE SUMA ———
    var cajas_codigobarras = “” ;
    var cajas_codigobarras = “” ;
    var result1=Math.round(cajas_codigobarras) ;
    document.getElementById(“cajas_codigobarras”).value=result1;
    —- TAMBIEN FUNCIONA PERFECTAMENTE UNA VARIABLE DE PHP LA CONVIERTO EN UNA VARIABLE DE JAVA Y LA MUESTRO EN EL FORMULARIO
    var codpruebas = “” ;
    var result2=Math.round(codpruebas) ;
    document.getElementById(“codpruebas”).value=result2;
    }

  • fernando dice:

    Hola, y como lo hago el de Php a Java ningun problema pero necesito ahora sacar el de java a Php

    var codarticulo_barras = document.getElementById(“codarticulo”).value;

    <?php
    $codarticulo_barra = " document.write(codarticulo_barras) “;
    $result = mysql_query(“SELECT SUM(cajas) as cajas_codigobarras FROM barraslineatmp WHERE codalbaran=’$codalbarantmp ‘ AND codigo=’.$codarticulo_barra'”);
    $query_data=mysql_fetch_array($result);
    $cajas_codigobarras= (float) $query_data[“cajas_codigobarras”];

    ?>

  • O puedes usar un formulario y con JavaScript asignarle un value a un input de tipo oculto para después enviarlo y ahora si, almacenar el valor en servidor 😉

  • roberto dice:

    Excelente tu explicacion !. Breve y precisa. Saludos.

  • diego dice:

    realmente no sirve, ya que si imprime el valor que esperas pero realmente no guarda el valor en la variable de php es como una referencia solamente. si necesitaras usar el valor “almacenado” en la variable de php no funciona.

    • Jhosue dice:

      Correcto, en el articulo lo había dejado claro, pero solo en el apartado de JavaScript a PHP. Por lo que lo he corregido para que se entienda que es para los dos casos. Para poder pasarle los datos de verdad, ya habría que usar otros métodos.

      • fernando dice:

        hola, y como se podria hacer? de java a Php

        • David Guerra dice:

          Hola:
          yo encontre esto que puede servir a algunos:

          http://www.bdat.net/trucos/faqphp-v1/x126.html

          Es lo que yo quiero hacer, pero como no se mucho de codigo, estoy atorado pues de una funcion en javascript necesito sacar el valor de las variables, luego enviarlas a php y luego a un archivo de texto en mi servidor.

          En esta liga que les dejo si puedo escribir en mi archivo de texto a traves de javascript-PHP-Archivo. Si algunos quieren conectarse a una base de datos, esta es su solucion tambien.
          Saludos.

          Espero que les sirva y ojala alguien pueda ayudarme