Passando Variáveis JavaScript para PHP

Essa é simples mais quebra um galhão na hora de validar um formulário, primeiro vamos declarar uma variável no JavaScript:

<script type="text/javascript">
var x = 'valor'; 
</script>

Agora, vamos passar essa variável para o PHP com o comando <script>document.write(x)</script>

<?php $x = "<script>document.write(x)</script>";
echo $x;
?>

Viu como é simples? Fika a Dica!

Leia Também:

About Tilo

Profissional FrontEnd desde 2006, Executa trabalhos com xHtml, CSS, JavaScript, MySQL e PHP, estudante de C# e SQL. Cursa Tec. em Analise e Desenvolvimento de Sistemas na UniItalo.
This entry was posted in JavaScript, jQuery & Ajax, PHP and tagged . Bookmark the permalink.

21 Responses to Passando Variáveis JavaScript para PHP

  1. Junin Campos says:

    Cara, brigadão =D
    passei a madrugada toda procurando isso…
    não tenho conhecimentos em php e muito menos em javascript.
    Tava precisando disso pra definir o tamanho minimo da altura do meu site, onde esse tamanho vai ser definido de acordo com a resolução da tela do visitante.

  2. Junin Campos says:

    Cara, tô com um problema… se você puder me ajudar, agradeço.
    É o seguinte: Como disse acima, quero que a “altura” do site seja definida de acordo com a resolução da tela do visitante. Para isso, estou usando:

    var x = screen.height;

    <?php $x = "document.write(x)”;?>
    onde x é a altura da resolução da tela do visitante.
    e no que define a altura do site, fica +/- assim
    <div style="min-height:px;”>
    porém isso não funciona. Quando vou olhar o codigo no navegador, em style fica somente style=”min-height:px;”

    você saberia me informar o motivo?

  3. Tilo says:

    Dá uma lida nesse texto, ele fala sobre Fluid Layouts, acho que pelo que você me disse, você nem vai precisar de JS tão pouco colocar o PHP nessa história, acho que com CSS você resolve isso, dá uma lida. fika a dica ;)

    http://css-tricks.com/the-perfect-fluid-width-layout/

  4. Junin Campos says:

    Caleu pela a atenção cara =D

  5. Daniel says:

    Achei show de bola o post porem quando precisamos enviar a variavel para comparação a mesma não “carrega” o valor inserido.
    Aguem tem a solução?

  6. Cláudio says:

    Cara. Valeu!!!

    Estou engatinhando no PHP e essa dica me poupou um tempo enorme!!!

    Obrigadão!!

    Cláudio / RJ

  7. Marina Milos says:

    realmente, a variável tá lá, mas não serve para usar em condições if ou fazer contas. O código abaixo:

    var x = 2;
    var y = 3;

    <?php
    $x = "document.write(x)”;
    $y = “document.write(y)”;
    $z = $x+$y;
    echo “x=$x – y=$y – z=$z”;
    ?>
    gera o seguinte na página final
    x=2 – y=3 – z=0

    Alguém sabe pq a variável ‘tá lá’, mas não serve para usar, e como reverter isso?

  8. Tilo says:

    Olá Marina,

    A Variável é recuperada como String, use um parse para utilizar no formato mais adequado para você ;)

  9. adailton says:

    tilo como faço para pegar os dados das cordenadas e colocar em uma variavel php amigo veja meu codigo que pega as cordenadas:

    var IE = document.all?true:false;
    if (!IE) document.captureEvents(Event.MOUSEMOVE)
    document.onmousemove = getMouseXY;
    var tempX = 0;
    var tempY = 0;
    function getMouseXY(e) {
    if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
    }
    else { // grab the x-y pos.s if browser is NS
    tempX = e.pageX;
    tempY = e.pageY;
    }
    if (tempX < 0){tempX = 0;}
    if (tempY < 0){tempY = 0;}
    document.getElementById("vx").innerHTML = tempX;
    document.getElementById("vy").innerHTML = tempY;
    return true;
    }

    X
    Y

    eu quero adicionar um onclick mouse mais nao sei como tipo ao clicar na tela envie altomaticamente oque esta escrito na variavel das posiçoes x e y para um variavel php que é essa:

    essas codenadas vao ser recuperadas e passadas para um documento que tem uma animaçao com jquery e css onde vai definir até aonde o avatar vai se mover na tela, farei tudo usando comet.

    ajuda eu ai.

  10. Wscitrin says:

    Acho que isso não serve não… o_O’

    Marina, se você ver o código fonte na página vai ver que na verdade o valor armazenado na variável PHP é a string “document.write(x)”, e não o conteúdo da variável javascript.

    O que está causando confusão é que o navegador lê a string e, dentro do contexto, exibe o resultado javascript, que no caso é “2″, fazendo pensar com que “2″ é o valor da variável PHP.

    Lembrando que, numa página, o código PHP é executado no servidor primeiro; este manda o resultado para o navegador, que, eventualmente, executará o código javascript.

    Acho que a único jeito de passar o CONTEÚDO de uma variável javascript para PHP é via GET.

  11. adailton says:

    e como passa via get tenho um servidor de socket tcp que escuta na porta 8000 e nesse servidor tem uma variavel $msg que recebe uma mensagem do cliente conectado, entao quero criar uma animaçao que vai conter funçoes js que pega a cordenada da pagina e envia para a variavel msg vou usar js porque php nao pega cordenada da pagina.

    ajuda ai gente.

  12. Edinei says:

    POR FAVOR ME AJUDE onde estou errando veja o codigo abaicho completo!!! Não converte !!!

    function mostra(item){
    document.getElementById(“divFisica”).style.display = (item ==
    ‘F’?”block”:”none”);
    document.getElementById(“divJuridica”).style.display = (item ==
    ‘J’?”block”:”none”);
    var valor = item;

    }

    Seleciona uma Categoria
    Pessoa Juridica
    Pessoa Física

    <?php $fim = "document.write(valor)”;
    echo $fim;
    ?>

  13. Tilo says:

    É importante que esse $fim esteja dentro de uma tag script para que o js funfe!

  14. Ana says:

    Olá,

    muito bom o post, me ajudou… mas não resolveu o problema.
    Estou com um problema que parece difícil de ser resolvido, preciso do conteúdo da variável php, recebida do javascript por document.write(x) como explicado aqui no post. Como o “Wscitrin” falou, o conteúdo não está realmente na variável. Tentei, como ele fala, usando um form via GET… mas passa valor nulo (em branco).
    Alguém passou por este problema (ter que passar o conteúdo de uma variável javascript para uma variável PHP via form) e encontrou uma solução?

  15. MicroBios says:

    valeu poxas xtava mesmo a precisar nao xtava a ver como fazer isso

  16. Tilo says:

    Que bom que gostou, não esquece de enviar para os amigos

  17. Mais simples que isso impossível mesmo…
    Só tenho um único problema!

    —————————-

    var txt = ;
    var imprensa = truncar(txt, ’100′);

    <?php
    $txt_trunc = "document.write(imprensa)”;
    echo $txt_trunc;
    ?>

    —————————-

    A minha intenção é carregar uma variável com um texto, e nessa variável aplicar uma função para truncar o mesmo.
    Considerando que existe forte preferência por usar uma função em JS, bastaria saber como passar uma variável de PHP para JS.

    ;P

  18. —————————-

    var txt = ;
    var imprensa = truncar(txt, ’100′);

    <?php
    $txt_trunc = "document.write(imprensa)”;
    echo $txt_trunc;
    ?>

    —————————-

  19. Cleiton says:

    Estou tentando pegar os dados de um formulario com javascript e gravar em
    um banco de dados, como estou usando ajax não quero usar o submit pois ele atualiza
    a pagina e perco a função do ajax de carregar a pagina dentro da div.

    Ao tentar fazer isso:

    $nome = “document.write(name);”;
    $usuario = “document.write(user);”;
    $senha = “document.write(pass);”;
    $email = “document.write(mail);”;
    $nivel = “document.write(perm);”;

    Ele grava no banco de dados o script completo e não o valor da variavel.
    Alguem sabe se é possivel?

  20. Gilvan says:

    Funcionou perfeitamente! Brigadão mesmo,vlws

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree