Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 =]
>
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. ^^
Você ao menos testou o que eu te passei camarada ?
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.
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;
?>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).
se isso estiver dentro de um form, passe o valor do javascript por um input hidden.
>
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
>
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:
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
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.
>
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>
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...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.
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.
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.
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...
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!
Não precisa toda essa manobra.