Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Videres

Como receber variáveis de JavaScript em PHP

Recommended Posts

Bom dia galerinha da maldade, ^^

Estou tendo um pouco de dificuldade em receber em php o valor de uma variavel criada no javaScript..

Queria saber com vocês o que estou fazendo de errado nesse cód ou se essa é a forma correta de fazer.

 

 

 

<script>
var teste = 1;
</script>

<h1>Teste</h1>
<?php 
$teste = "<script>document.write(teste)</script>";
echo"<script>alert('valor totalPontos ->'+$teste);</script>";


?>

Nesse meu código ele só exibe -> ); Não sei pq!

 

 

*Encontrei muitos exemplos em que se usava esse cod $teste = "<script>document.write(teste)</script>"; para receber variaveis JS, mas... comigo n funcionou.

 

Se puderem dar uma dica serei grato, caso encontre antes posto aqui. VLWS =]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa toda essa manobra.

<script>
var teste = 1;
</script>

<h1>Teste</h1>
<?php
echo "<script>alert('valor totalPontos ->'+teste);</script>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Não precisa toda essa manobra.

<script>
var teste = 1;
</script>

<h1>Teste</h1>
<?php
echo "<script>alert('valor totalPontos ->'+teste);</script>";
?>

 

Eae Alaerte blz?

Então, eu gostaria de receber o valor da variável JS em PHP.. pq o meu objetivo é inserir esse valor no banco, coloquei o alert + na tentativa de "ilustrar" que não consigo receber a variável do jeito que fiz... por algum motivo acabo recebendo -> ); ao invés de 1 (que corresponde a variavel teste em JS), n sei s deu pra entender.

 

Esse jeito que fiz é a forma correta?

 

 

Vlws pela atenção. ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você ao menos testou o que eu te passei camarada ?

SS... =]

 

Quando insiro:

 

echo"<script>alert('valor totalPontos ->'+teste);</script>";

*Ele exibe o valor da variavel JS normalmente... mas tipo como faço pra inserir esse valor dentro de uma variavel PHP?

 

 

Até tentei:

 

$teste = "<script>teste</script>";

 

E ele exibe a mesma coisa -> );

*n sei bem o pq.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para transcrever esse valor para variável PHP, faça:

 

 

 

 

<script>
var teste = 1;
</script>

<h1>Teste</h1>
<?php
$valor = "<script>document.write(teste);</script>";

echo $valor;
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alaerte Gabriel, desculpe, mas o que você passou não irá funcionar para o que ele necessita.

 

Não precisará nem testar, o fluxo de interpretação por si só responde o teste.

 

Uma página PHP é executada da seguinte forma.

 

1º - PHP é processado e todo o retorno HTML é enviado ao cliente (somente é processado o que está dentro das tags PHP <?php /** **/ ?>).

 

2º - O cliente interpreta HTML + JavaScript + CSS (na ordem top to down) no navegador.

 

Sua variável javascript somente será interpretada no navegador e não no servidor, logo, o PHP nunca reconhecerá a variável teste. Se você quiser utilizar algum valor de JS no PHP, envio através de query string (GET/POST).

Compartilhar este post


Link para o post
Compartilhar em outros sites

se isso estiver dentro de um form, passe o valor do javascript por um input hidden.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Para transcrever esse valor para variável PHP, faça:

 

 

 

 

<script>
var teste = 1;
</script>

<h1>Teste</h1>
<?php
$valor = "<script>document.write(teste);</script>";

echo $valor;
?>

 

É isso ai... Entendi, eu precisava remover o alert para funfar, entao.. quando recebo uma variavel em JS eu n posso exibir ela em um alert?Ou n fiz de forma correta nesse caso?

 

*Só pra esclarecimento da minha parte mesmo.. srrrssr

 

 

Brigadao Alaerte tu é o cara.. ashusahuashuashu

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alaerte Gabriel, desculpe, mas o que você passou não irá funcionar para o que ele necessita.

 

Não precisará nem testar, o fluxo de interpretação por si só responde o teste.

 

Uma página PHP é executada da seguinte forma.

 

1º - PHP é processado e todo o retorno HTML é enviado ao cliente (somente é processado o que está dentro das tags PHP <?php /** **/ ?>).

 

2º - O cliente interpreta HTML + JavaScript + CSS (na ordem top to down) no navegador.

 

Sua variável javascript somente será interpretada no navegador e não no servidor, logo, o PHP nunca reconhecerá a variável teste. Se você quiser utilizar algum valor de JS no PHP, envio através de query string (GET/POST).

 

Me perdoe, mais você está mal informado colega, é "CLARO" que funciona. Faça um teste, recomendo estudar mais um pouco :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

se isso estiver dentro de um form, passe o valor do javascript por um input hidden.

 

 

Alaerte Gabriel, desculpe, mas o que você passou não irá funcionar para o que ele necessita.

 

Não precisará nem testar, o fluxo de interpretação por si só responde o teste.

 

Uma página PHP é executada da seguinte forma.

 

1º - PHP é processado e todo o retorno HTML é enviado ao cliente (somente é processado o que está dentro das tags PHP <?php /** **/ ?>).

 

2º - O cliente interpreta HTML + JavaScript + CSS (na ordem top to down) no navegador.

 

Sua variável javascript somente será interpretada no navegador e não no servidor, logo, o PHP nunca reconhecerá a variável teste. Se você quiser utilizar algum valor de JS no PHP, envio através de query string (GET/POST).

 

Então mesmo eu recebendo a variavel JS em PHP, n teria como eu inserir ela no servidor?

 

 

se isso estiver dentro de um form, passe o valor do javascript por um input hidden.

 

 

Eu tinha pensado nisso.

 

Mas... se eu fizer isso teria q criar uma nova pag para receber esse valor e em seguida envia pro banco.

E no que estou pensando é em pegar valores dinamicos em javaScript receber em uma variavel PHP e inserir no banco.

 

 

 

+ É isso aew... brigadao.. já deu pra esclarecer minha dúvida. BRIGADAO a todos.. Agora é só testar. \o

Vlws

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe Alaerte, mas você que está equivocado.

 

Veja só, você está utilizando apenas uma redundância, quer entender como sei disso. Execute o código abaixo:

<script>
    var teste = '1';
</script>

<?php

$valor = "<script>document.write(teste);</script>";

var_dump($valor);

 

Segundo sua definição, vai imprimir 1, mas não é o que acontece, veja a saída:

 

 

 

string '<script>document.write(teste);</script>' (length=39)

 

Sabe o que está acontece no PHP, você está apenas imprimindo uma função de impressão javascript. Logo o PHP nunca soube qual o valor da variável teste. Você apenas imprimiu uma função que imprime um valor no javascript.

 

Acho que não sou eu que tenho que estudar mais...



Se eu desejar fazer isso:

<script>
    var teste = '1';
</script>

<?php

$valor = "<script>document.write(teste);</script>";
$valor++;
echo $valor;

 

 

Segundo sua definição, o resultado deveria ser 2, e não é, continua sendo 1, saída:

 

 

1

 

Pois é o JavaScript, e não o PHP, que imprime a variável teste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe Alaerte, mas você que está equivocado.

 

Veja só, você está utilizando apenas uma redundância, quer entender como sei disso. Execute o código abaixo:





<script>
    var teste = '1';
</script>

<?php

$valor = "<script>document.write(teste);</script>";

var_dump($valor);

 

Segundo sua definição, vai imprimir 1, mas não é o que acontece, veja a saída:

 

 

 

Sabe o que está acontece no PHP, você está apenas imprimindo uma função de impressão javascript. Logo o PHP nunca soube qual o valor da variável teste. Você apenas imprimiu uma função que imprime um valor no javascript.

 

Acho que não sou eu que tenho que estudar mais...

 

Se eu desejar fazer isso:





<script>
    var teste = '1';
</script>

<?php

$valor = "<script>document.write(teste);</script>";
$valor++;
echo $valor;

 

 

Segundo sua definição, o resultado deveria ser 2, e não é, continua sendo 1, saída:

 

 

 

Pois é o JavaScript, e não o PHP, que imprime a variável teste.

 

Gabriel, o usuário em questão quer imprimir o resultado da variável, eu mostrei como. Em momento algum eu disse que poderia ser enviada ao servidor. Se mudar o valor da var teste para 2 no JS o echo irá imprimir 2 do mesmo jeito.

 

Claro, até mesmo se ele quiser inserir em um DB, o que será inserido seria isso mesmo: <script>document.write(teste);</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o usuário em questão quer imprimir o resultado da variável

O título do tópico diz outra coisa:

Como receber variáveis de JavaScript em PHP

 

Entenda que fazer isso:

 

<script>
var teste = 1;
</script>

<h1>Teste</h1>
<?php
$valor = "<script>document.write(teste);</script>";

echo $valor;

É o mesmo que isso

<script>
var teste = 1;
</script>

<h1>Teste</h1>
<script>document.write(teste);</script>

E não tem sentido algum em utilizar o PHP...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você Interferiu no tópico sem ao menos deixar eu dar as explicações corretas para o colega acima, caso ele queira manipular o valor não iria conseguir apenas exibilo, para manipular a forma correta estaria aqui:

 

se isso estiver dentro de um form, passe o valor do javascript por um input hidden.

 

Meu caro amigo, seu objetivo neste tópico é "me colocar pra trás" e não ajudar o usuário, sinto informar mais isso você não vai conseguir. Boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colocar para trás? Não, mas deixar claro o que é e o que realmente acontece.
As respostas corretas já foram passadas nos tópicos #7 e #8. Pra mim, agora, basta sabe se o autor do tópico entendeu o que deve ser feito.

 

Segundo o autor do tópico, ele encontrou as mesmas respostas, ou similares, em pesquisas na web, isso significa que a solução errada está sendo disseminada, e é isso que devemos evitar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe resposta errada aqui, aqui existiu má colocação dos fatos. Encerro por aqui a discussão, pois pra mim não tem mais fundamento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

brother... pra inserir uma variavel JS e passar pro PHP, pra inserir no banco de dados o valor em si da variavel, sem a utilização de formulário.... SOMENTE VIA AJAX...

Compartilhar este post


Link para o post
Compartilhar em outros sites

No momento em que vi a resposta, vi que estava incorreta ao que o título do tópico se refere!

 

Sem sombra de dúvidas não vai funcionar. O que o amigo quer tem de ser feito com ajax. Não sei se é possível com javascript!

 

Dei up para os posts do Gabriel Heming e shini. Sábios em suas respostas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.