Ir para conteúdo

Arquivado

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

adavis

Usar variavel javascript no php

Recommended Posts

Oi..

 

Como faço para salvar os dados de uma variável javascript em uma variável php??

tentei da seguinte forma e não funcionou:

 

 
<script type="text/javascript">
$(document).ready(function(){
$("#curso").change(function(){
	var value = $(this).val();
	var idCidade = $('#cidade').val();
	var idCurso  = $('#curso').val();
	alert(idCidade+' - '+idCurso+' ');


});
})
</script>

 

e o php:

 

<?php $cidade= "<script>document.write(idCidade)</script>"; 
echo $cidade; ?>

 

O alert do script pega os dados como eu quero, mas na hora de passar pro php ele passa vazio. Alguém sabe pq?

 

Desde já agradeço..

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso não existe, não dessa forma.

 

explique o pq você precisa disso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você confundiu um pouco as coisas rsrs

 

O PHP é executado no computador do servidor, ele cria o documento HTML, códigos JavaScript e CSS (as vezes até mais coisas) e manda para o computador do cliente, e então o computador do cliente processa através do navegador os códigos que o servidor enviou, o PHP e o JavaScript não tem conexão, não tem como passar uma variável do JavaScript diretamente para o PHP, mas como você cria códigos JavaScript pelo PHP você pode definir uma variável de JavaScript por ele, pois na hora da execução você pode colocar o valor da variável PHP no código para o JavaScript preencher a variável no ambiente dele quando ele for executado.

 

Para você receber o valor de idCidade você pode colocar ele em um campo de formulário html e enviar para o servidor ou utilizar ajax...

 

Exemplo com HTML e PHP:

<?php
if(!empty($_POST)){
$idCidade = (int)$_POST['idCidade'];
$idCurso = (int)$_POST['idCurso'];
}
else{ $idCidade = $idCurso = 5; }
?>
<!DOCTYPE html>
<html>
<head>
<title>Exemplo</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<?php if(!empty($_POST)){ ?>
<p>Recebido: idCidade: <?=$idCidade?>, idCurso:<?=$idCurso?></p>
<?php } ?> 
<form method="post" action="">
<p>idCidade: <input type="text" name="idCidade" id="cidade" value="<?=$idCidade?>" /></p>
<p>idCurso: <input type="text" name="idCurso" id="curso" value="<?=$idCurso?>" /></p>
</form>
</body>
</html>

 

Exemplo com ajax já que você usa jQuery:

<?php
if(!empty($_POST)){
$idCidade = (int)$_POST['idCidade'];
$idCurso = (int)$_POST['idCurso'];
header('Content-Type: application/json');
echo "[\"Recebido: idCidade: $idCidade, idCurso: $idCurso\"]";
exit;
}
?>
<html>
<head>
<title>Exemplo</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
$(function(){
       $("#curso").change(function(){
               var value = $(this).val();
               var idCidade = $('#cidade').val();
               var idCurso  = $('#curso').val();
               $.post("",{idCidade: idCidade, idCurso:idCurso}, function(data){
               	alert("Sucesso: "+data[0]);
               },'json').error(function(){
               	alert("Erro!");
               });
               alert(idCidade+' - '+idCurso+' ');
       });
})
//-->
</script>
</head>
<body>
<form method="post" action="">
<p>idCidade: <input type="text" name="idCidade" id="cidade" value="" /></p>
<p>idCurso: <input type="text" name="idCurso" id="curso" value="" /></p>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma pesquisada aqui no fórum que tem um tópico falando sobre isso,

 

E quando estiver utilizando PHP

 

use assim sempre,

<?php ?>

 

 

- você esta misturando

<? ?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho dois selects um com a cidade e outro com o curso, aquela funçãozinha está pegando o id da cidade e o id do curso. Quando clico na cidade e no curso ele me retorna por exemplo: 6 - 4.

 

O que eu pretendia fazer, era armazenar esse 6 e 4 em duas variáveis php para eu fazer um select com elas por exemplo:

 
<?php
$sql = mysql_query("SELECT * FROM estatistica WHERE id_cidade = '".@$idCidade."' AND id_curso = '".@$idCurso."' ");
?>

 

é por esse caminho ou não tem nada a ver??

 

bjoos

Compartilhar este post


Link para o post
Compartilhar em outros sites

a query está certa não da nenhum problema. o que eu não consigo fazer é pegar os valor dos selects e jogar dentro de uma variavel php para poder fazer minhas condições. alguém??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz algo para você, adapte conforme necessita.

A função do select é disparada em um "echo" do PHP e com isso você consegue pegar o que deseja.

 

CTRL + C / CTRL + V :thumbsup:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>

</head>

<body>
<select name="pais" id="pais">
<option value="Argentina">Argentina</option>
<option value="Brasil">Brasil</option>
</select>
<?php 
$valor = "<script type='text/javascript'>
$(function(){
$('#pais').change(function(){
	var valor = $(this).val();
	alert(valor);
});
});</script>";
echo $valor;
?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se me fiz entender mas ja tentei isso milhões de vezes.. o problema é quando a variável sai da funçãozinha javascript ela perde o seu valor. no alert dentro da função ela funciona mas no echo não funciona!! Ja tentei tudo e não consegui não sei mais o que faço!!c :(/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por esse caminho ou não tem nada a ver??

ou você trabalha com ajax, ou você envia o form normalmente, pelo comportamento default do html.

 

 

@Bru_ce, nada a ver isso ai que tu fez cara.. Isso não existe e não funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, então qual a dúvida?

 

se você tá enviando o form normalmente, então não precisa de nada em javascript. O próprio html vai enviar as variaveis para o teu php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho essa função


<script type="text/javascript">
$(document).ready(function(){
$("#curso").change(function(){
	var value = $(this).val();
	var idCidade = $('#cidade').val();
	var idCurso  = $('#curso').val();
});
})

</script>

 

e quero usar o idCidade e o idCurso neste código aqui:

 

$sql = mysql_query("SELECT * FROM estatistica WHERE id_cidade = '".idCidade."'AND id_curso = '".idCurso."' ") or die (mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

só com ajax então. Entendeu ?

 

Fora isso, é impossível. Mas se você não quer usar ajax, não precisa dessa função.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só com ajax então. Entendeu ?

 

Fora isso, é impossível. Mas se você não quer usar ajax, não precisa dessa função.

 

 

Ahhh entendi!! Fiz aqui e deu certo.. Como não percebi isso antes hehehe.. mas obrigada pela ajuda :) bjos

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.