Ir para conteúdo
Fórum Script Brasil
  • 0

Variavel De <script> Para O Php


doulo4ever

Pergunta

16 respostass a esta questão

Posts Recomendados

  • 0

Eu tenho algumas variaveis dentro de um script javascript que preciso enviar para uma outra página!

Hoje o script está basicamente assim:

<script>
...

kbps = '127.00';

<?
$kbps = "' + kbps + '";
$url = "index.php?acao=exibe&kbps=$kbps";
?>

redireciona='<?php echo $url; ?>';
document.location.href=redireciona

</script>

Foi preciso fazer isto porque a variavel "kbps" é gerada por um script em javascript! Sempre funcionou normal, só que como a variável "kbps" é enviada pelo método GET, na página seguinte, a pessoa pode mudá-la como quiser preenchendo o valor "kbps" da url do browser!

Eu pensei em passar a valor de "kbps" por session para que a pessoa só a veja quando ela for exibida, mas a SESSION não grava naquele modo! Que solução posso dar a isso?

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Olha, a tentativa que eu fiz por session foi a seguinte:

<?

session_start()

?>

<script>

kbps = '127.00';

<?php

$kbps = "' + kbps + '";

$_SESSION[kbps] = $kbps;

$url = "pagina2.php";

?>

nextpage=<?php echo $url; ?>';

document.location.href=nextpage

</script>

pagina2.php

<?

session_start()

?>

<?

$kbps = $_SESSION[kbps];

echo $kbps;

?>

Mas a session não grava fazendo desta forma!!

você pode mandar a variável de javascript pela querystring ou por cookie para recuperá-la pelo PHP

Tentei fazer um código parecido aqui usando cookie, mas também não grava, assim como session, ficou da seguinte forma:

<script>

kbps = '127.00';

<?php

$kbps = "' + kbps + '";

setcookie("kbps", $kbps, time()+3600);

$url = "pagina2.php";

?>

redireciona='<?php echo $url; ?>';

document.location.href=redireciona

</script>

pagina2.php

<?

echo $_COOKIE["kbps];

?>

Ele dá um erro já na primeira página de sintaxe na linha 5 que é a "<?php"

Não sei como fazer por querystring como você me disse! Pode me dar um exemplo?

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Doulo... entenda uma coisa, cara:

$kbps = "' + kbps + '";

Isso tá errado. Isso nunca vai funcionar.

O JavaScript trabalha na máquina do usuário, no browser do usuário.

O PHP trabalha no servidor!

O código PHP inteiro vai rodar antes do JavaScript sequer existir. Por isso você pode passar valores do PHP pro JavaScript com um simples echo, mas o contrário não pode ser feito.

Você não pode simplesmente passar a variável de um pro outro. Como esse valor seria passado do JavaScript do usuário direto pro servidor?

Sempre que o usuário precisar enviar valores para o PHP, você precisa submeter um formulário ou passar esse valor via query string (URL). Ou fazer esse truque do cookie.

Entendeu, agora?

Link para o comentário
Compartilhar em outros sites

  • 0

Error, pelo menos no meu servidor e no servidor web do meu site, o seguinte script:

<script>

...

kbps = '127.00';

<?

$kbps = "' + kbps + '";

$url = "index.php?acao=exibe&kbps=$kbps";

?>

redireciona='<?php echo $url; ?>';

document.location.href=redireciona

</script>

Funciona normalmente, mesmo mesclando php com javascript, faça um teste você mesmo!

Tá tudo funcionando normal no script até agora, a única coisa que eu queria era esconder a variavel "kbps" gerada pelo javascript enviando por session ou cookie, nenhuma das duas gravaram o valor, mas da forma que está, enviando por querystring, funciona normalmente!

Link para o comentário
Compartilhar em outros sites

  • 0
<script>

...

kbps = '127.00';

<?

$kbps = "' + kbps + '";

$url = "index.php?acao=exibe&kbps=$kbps";

?>

redireciona='<?php echo $url; ?>';

document.location.href=redireciona

</script>

Funciona normalmente, mesmo mesclando php com javascript, faça um teste você mesmo!

Cara, do ponto de vista do PHP, isso não tá sintaticamente errado... mas é como o Error falou, não tem como passar uma variável de javascript pra PHP assim... nesse exemplo, você tá definindo a variável $kbps com a seguinte string: ' + kbps + '

Só isso... experimenta dar um echo nela pra você ver o resultado. Se for passar, tem que ser através de cookie ou query string, como falei... não vejo outra saída além dessas. Pesquise um pouco mais sobre isso, se você não souber muito do assunto. Não é difícil... no fórum de javascript, postei duas funções pra trabalhar com cookies.

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

Só uma coisa....tem como eu recuperar pelo PHP um cookie criado pelo javascript?

É exatamente essa a idéia...

Eu postei na parte de scripts duas funções em JS: uma define o cookie, a outra recupera seu valor (pelo JS). Aí você vai setar pelo JS e recuperar pelo PHP. Só mais um detalhe: os cookies ficam visíveis no próximo reload da página. Então, depois que você setar o cookie, vai ter que recarregá-la.

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

O Illidan, tentei setar um cookie por javascript aqui e recuperá-lo pelo PHP mas não deu certo, dá uma olhada:

<script>

nome = 'Paulo';

document.cookie = nome;

</script>

<?

$nome = $_COOKIE["nome"];

echo $nome;

?>

O que tá errado? (Recuperando pelo JS vai normalmente)

Valeu

Editado por doulo4ever
Link para o comentário
Compartilhar em outros sites

  • 0

MEU DEUS DO CEUUUUUUUU!

Olha, tentei o seguinte então...

&lt;script>

nome = 'Paulo;

document.cookie = nome;

redireciona='funciona_logo_porcaria.php';

document.location.href=redireciona

</script>

funciona_logo_porcaria.php
<?

$nome = $_COOKIE["nome"];

echo $nome;

?>

Agora ele executa a * do JS, criando assim o cookie, certo? E redirecionou para a outra página! Ou seja, agora ele já foi criado! E mesmo assim não aparece nada!

Socorro!@

Editado por doulo4ever
Link para o comentário
Compartilhar em outros sites

  • 0
<script>

var nome = 'Paulo';

document.cookie = "nome=foo";

</script>

<a href=funciona_logo_porcaria.php>Exibe</a>

<?

$nome = $_COOKIE["nome"];

echo $nome;

?>

Exibe somente "foo"!!

Como faço para excluir o cookie criado "nome"? Estou fazendo outros testes e continua aparecendo "foo", ou seja, agora esse cookie tem que ser apagado antes! Como faço para apagar pelo JS?

Editado por doulo4ever
Link para o comentário
Compartilhar em outros sites

  • 0

Error, o código abaixo:

<script>

nome = 'Paulo';

document.cookie = "nome=foo";

</script>

<a href=funciona_logo_porcaria.php>Exibe</a>

Esta criando um cookie com o valor "foo" mas na verdade, o valor deve ser "Paulo", como faço criar com o valor da variavel "nome"?

Valeu

Editado por M@luco Belez@
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...