Ir para conteúdo

POWERED BY:

Arquivado

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

aladiah

[Resolvido] Php+ajax - variáveis

Recommended Posts

Vamos la pessoal, eu tenho uma função em meu arquivo .js em que uma das variaveis dessa função deve ser preenchido pelo valor de uma variavel que está em um arquivo .php que serve só para conseguir esse valor.

 

Como faço para a minha variavel que está no .js reconheça o valor da variavel do .php ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo André, o exemplo que você me mandou ver é esse:

 

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // output the geometry variables
  echo "Screen width is: ". $_GET['width'] ."<br />\n";
  echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
  // pass the geometry variables
  // (preserve the original query string
  //   -- post variables will need to handled differently)

  echo "<script language='javascript'>\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>

só que pelo que entendi do exemplo, ele cria um javascript usando o php, e usa variaveis do javascript no php, e não o inverso, e eu preciso do inverso, usar uma variavel do php no meu javascript, e tem que ser no arquivo .js, pois se for em uma página .php um simples echo $variavel resolveria o meu caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então calma...

 

qual o motivo de você precisar de uma variavel php num arquivo js ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse meu arquivo *.js realiza uma função que mostra um cronometro na tela a partir de valores armazenados no banco de dados, valores este que busco via query no php, e logo depois realiza uma equação para assim chegar o tempo que deve ser mostrado no crônometro.

 

Acho que deu para entender né... no *.js a variavel (var segundos) vai conter o valor da variavel de resultado da equação feita no php ($resultado = (($valor1db)-($valor2db)))

 

obrigado por estarem me ajudando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, então a saida mais simples, é você na chamada da tua função javascript

 

fazer um echo com o php.

deixa lá todo teu codigo js no arquivo *.js

 

e ai na hora de 'chamar' a função, você faz

function cron( seg ){}

 

e ai no window.onload do documento:

cron( <?php echo $resultado; ?> );

 

assim, parece mais simples, pois a outra solução que pensei, seria disparar uma requisição ajax para ir no servidor e buscar essa informação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aladiah dah uma olahda no jQuery, ele simplifica bastante para você utilizar javascript com ajax na sua página

Compartilhar este post


Link para o post
Compartilhar em outros sites

só que pelo que entendi do exemplo, ele cria um javascript usando o php, e usa variaveis do javascript no php, e não o inverso

Não, você entendeu errado. O exemplo que te mostrei faz justamente o que quer, passar o valor de variável que está no PHP para Javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, você entendeu errado. O exemplo que te mostrei faz justamente o que quer, passar o valor de variável que está no PHP para Javascript.

 

Então entendi errado, se você puder me explicar aquele exemplo ficarei agradecido.

 

Olhem, eu uso esse script para fazer uma validação de um formulário meu.

// Variável que receberá o objeto XMLHttpRequest
var req;

function validarDados(campo, valor) {
 
// Verificar o Browser
// Firefox, Google Chrome, Safari e outros
    if(window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        }
        // Internet Explorer
        else if(window.ActiveXObject) {
            req = new ActiveXObject("Microsoft.XMLHTTP");
            }
             
            // Aqui vai o valor e o nome do campo que pediu a requisição.
            var url = "ajax/validacao.php?campo="+campo+"&valor="+valor+"&senha"+senha;
            // Chamada do método open para processar a requisição
            req.open("Get", url, true);
 
            // Quando o objeto recebe o retorno, chamamos a seguinte função;
            req.onreadystatechange = function() {
 
            // Exibe a mensagem "Verificando" enquanto carrega
            if(req.readyState == 1) {
                document.getElementById('campo_' + campo + '').innerHTML = '<font color="gray">Verificando...</font>';
                }
 
    // Verifica se o Ajax realizou todas as operações corretamente (essencial)
    if(req.readyState == 4 && req.status == 200) {
    // Resposta retornada pelo validacao.php
    var resposta = req.responseText;
 
    // Abaixo colocamos a resposta na div do campo que fez a requisição
    document.getElementById('campo_'+ campo +'').innerHTML = resposta;
    }
 
}
 
req.send(null);

o meu formulário chama ele da seguinte maneira.

 

onBlur="validarDados('login', document.getElementById('login').value);"

Eu queria saber se apartir desse script eu possa fazer algo só para pegar o valor de um php, nesse ele pega valor e campo do formuláio, jogo no .js e faz uma requisição na validacao.php, que retorna um valor que ele manda de volta ao meu formulário.

Mas eu não entendi muito bem o código, ja que sou iniciante em javascript, então não consegui fazer ele só fazer uma requisição ao validacao.php e manter no .js para uso dele mesmo.

 

Ja sobre jQuery não entendo nada ainda.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
$variavel_no_php = 'um valor qualquer, esse valor também pode vir do banco de dados sem problemas!';
?>
<!DOCTYPE html>
<html>
<head>
   <title>Olá</title>
</head>
<body>
<script type="text/javascript">
var $variavel_no_javascript = '<?php echo $variavel_no_php;?>';

alert( $variavel_no_javascript );
</script>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas do jeito que você fez, todo o script está em um arquivo php, se eu colocar esse seus javascript dentro de um .js o <? echo $variavel ?> não funciona, esse é meu problema, eu estou usando um arquivo .js

 

e muito obrigado ai por esterem me ajudando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só pensar um pouco.

 

index.php

<?php
$variavel_no_php = 'um valor qualquer, esse valor também pode vir do banco de dados sem problemas!';
?>
<!DOCTYPE html>
<html>
<head>
   <title>Olá</title>

   <script type="text/javascript">
   var $variavel_no_javascript = '<?php echo $variavel_no_php;?>';
   </script>
</head>
<body>
<h1>Olá</h1>

<script type="text/javascript" src="javascript.js"></script>
</body>
</html>

 

javascript.js

alert( $variavel_no_javascript );

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso ai André, dessa forma que você me mostrou ai por ultimo deu para ter uma idéia de como fazer.

eu declarei a váriavel segundos dentro de um javascript no meu tempo.php, e ai foi que uma beleza, muito obrigado.

 

Mais pra frente terei que otimizar o script mas até lá ja aprendi um pouco mais de java e ajax ai vai ser mais fácil.

 

Muito obrigado a todos que me ajudaram.

 

Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, aladiah!

 

você tem um formulário ou é uma variavel dentro das tags <?php ?> ??

 

Pq se for um formulario, usa a biblioteca JQuery.. $('#id_do_campo').val() ..

( Não testei, mas é nesse caminho..)

 

Qm sabe ajuda né!

 

Até!

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.