doulo4ever Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 Dá pra fazer isso?<script>variavel = 'texto';</script><?$teste = ' + variavel + ';echo $teste;?>Tentei dessa forma, mas não deu! É possível?Valeu... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 Não, cara.Você precisa entender uma coisa:· JavaScript = CLIENT-SIDE· PHP = SERVER-SIDEToda e qualquer informação, pra ser processada pelo PHP, precisa ser enviada para o servidor. Portanto o PHP é executado quando o JavaScript ainda nem chegou no browser do usuário.Entendeu? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Janeiro 15, 2005 Autor Denunciar Share Postado Janeiro 15, 2005 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 você pode mandar a variável de javascript pela querystring ou por cookie para recuperá-la pelo PHP.Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Janeiro 15, 2005 Autor Denunciar Share Postado Janeiro 15, 2005 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 PHPTentei 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Janeiro 15, 2005 Autor Denunciar Share Postado Janeiro 15, 2005 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 <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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Janeiro 15, 2005 Autor Denunciar Share Postado Janeiro 15, 2005 Vou lá no fórum de javascript ver como se faz para setar pelo javascript, realmente não sei como se faz pelo javascript, em que lugar você postou? Em "scripts"?Só uma coisa....tem como eu recuperar pelo PHP um cookie criado pelo javascript?valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Janeiro 15, 2005 Autor Denunciar Share Postado Janeiro 15, 2005 (editado) 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 Outubro 31, 2007 por doulo4ever Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 Doulo, meu rapaiz. O PHP é interpretado quando o código ainda está no servidor. O JavaScript ainda não foi executado... não existe cookie ainda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Janeiro 15, 2005 Autor Denunciar Share Postado Janeiro 15, 2005 (editado) MEU DEUS DO CEUUUUUUUU!Olha, tentei o seguinte então...<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 Outubro 31, 2007 por doulo4ever Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 <script>nome = 'Paulo';document.cookie = "nome=foo";redireciona='funciona_logo_porcaria.php';document.location.href=redireciona</script>Testa... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Janeiro 15, 2005 Autor Denunciar Share Postado Janeiro 15, 2005 (editado) <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 Outubro 31, 2007 por doulo4ever Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Janeiro 15, 2005 Denunciar Share Postado Janeiro 15, 2005 Pra apagar qualquer cookie. Crie um outro cookie com todos os parâmetros iguais e o valor vazio.Sugiro que você dê uma olhada em como criar e destruir cookies com JavaScript. Você estava setando ele de forma errada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Janeiro 15, 2005 Autor Denunciar Share Postado Janeiro 15, 2005 (editado) 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 Outubro 31, 2007 por M@luco Belez@ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
doulo4ever
Dá pra fazer isso?
<script>
variavel = 'texto';
</script>
<?
$teste = ' + variavel + ';
echo $teste;
?>
Tentei dessa forma, mas não deu! É possível?
Valeu...
Link para o comentário
Compartilhar em outros sites
16 respostass a esta questão
Posts Recomendados
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.