Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, venho suplicar ajuda novamente.
Estava fazendo esta aplicação com amfphp, tive dificuldades, resolvi mudar para loadVars somente. e tem uma variavel do inferno q nao me ajuda.
Esta aplicacao em flash, busca os dados de um banco de acordo com a autenticacao efetuada.
o q esta funcionando. os dados sao mostrados e a autenticacao é mostrada.
o que nao esta funcionando .. a visualizacao dos dados de acordo com a autenticacao
em um mesmo arquivo php, é feita a autenticacao e o envio de dados para o flash... nao consigo fazer com q uma variavel chamada usuario, seja preenchida para a instrucao sql, do mesmo arquivo, funcionar.
segue o php.
>
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Data no passado
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Sempre modificado
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
// Os cabeçalhos acima evitam que o arquivo seja colocado em cache, subscrevendo quaisquer configurações do usuário.
$dbh = mysql_connect("localhost","root","123");
mysql_select_db("seoso");
$result = mysql_query("select codLogin from tblogin where login='". $_POST['login']."' and senha='". $_POST['senha'] ."'");
if (mysql_num_rows($result) > 0) { echo "&logou=1\n&login=". $_POST['login']; } else { echo "&logou=0\n&login=0"; }
$usuario= utf8_decode($_POST['login']);
mysql_close($dbh);
// Inclui o script de conexão.
require_once('conexao.php');
$query = "SELECT ps, preparador, auxiliar, falecido, datafalecimento, total, inscricao FROM tbps where preparador =" .$usuario;
// Através da função mysql_query(), a query é executada.
$sql = mysql_query($query);
$dados = ''; // Variável responsável por armazenar o resultado a cada loop.
$nLoop = 0; // Variável responsável por armazenar o número total de loops.
// A função mysql_fetch_array() gera um array com o resultando, e o while foi usado para colocar todos os resultados na variável '$dados'
// Já no formato em que o Flash reconheça (variável = valor), além do caractere '&' para separarem as variáveis.
while($n = mysql_fetch_array($sql)){
$dados .= '&ps' . $nLoop . '=' . $n['ps'];
$dados .= '&preparador' . $nLoop . '=' . $n['preparador'];
$dados .= '&auxiliar' . $nLoop . '=' . $n['auxiliar'];
$dados .= '&falecido' . $nLoop . '=' . $n['falecido'];
$dados .= '&datafalecimento' . $nLoop . '=' . $n['datafalecimento'];
$dados .= '&total' . $nLoop . '=' . $n['total'];
$dados .= '&inscricao' . $nLoop . '=' . $n['inscricao'];
$nLoop++; //soma 1 a cada loop.
};
// Imprime os dados obtidos no loop e o codifica para UFT-8
// e em seguida concatena (une) o número total de loops para que seja impresso junto aos dados.
echo utf8_encode($dados) . '&nLoop=' . $nLoop;
?>
note esta linha
$query = "SELECT ps, preparador, auxiliar, falecido, datafalecimento, total, inscricao FROM tbps where preparador =" .$usuario;
essa variavel usuario nao recebe valor pra poder funcionar o sql... ja tentei um monte de maneiras... :(
segue o as do flash.
>
on(release){
formVars = new LoadVars();
formVars.login = elogin.text;
formVars.senha = esenha.text;
formVars.sendAndLoad("retorno.php",formVars,"POST");
eAviso.text = "Conectando...";
formVars.onLoad = function()
{
if (parseInt(this.logou) == 1)
{
eAviso.text = "Conectando...";
_root.usuario = this.login;
_root.codLogin = this.logou
comeco = setInterval(function(){
eAviso.text = "Conectado...";// serve de exemplo, ou seja, quando for logado o usuario vai para a pagina teste.html
nomeusuario = elogin.text;
// Objeto LoadVars.
var retorno:LoadVars = new LoadVars();
// Carrega o arquivo PHP 'retorno.php'.
retorno.load('http://192.168.0.20:8030/sites/visps/retorno.php');
// Ao arquivo ser carregado a função 'carregarDados()' é chamada através do evento onLoad.
retorno.onLoad = carregarDados;
function carregarDados():Void{
listaNomes.removeAll(); // Limpa o listBox.
// Executa um loop até chegar ao número total de resultados.
for(var n:Number = 0; n <this.nLoop; n++){
// Adiciona o nome como etiqueta ao listbox, e o número do loop com valor.
listaNomes.addItem({PS:this['ps' + n],Preparador:this['preparador' + n],Auxiliar:this['auxiliar' + n],Falecido:this['falecido' + n],Data_Falec:this['datafalecimento' + n],Totap_PS:this['total' + n],Inscricao:this['inscricao' + n]});
};
};
elogin.text = "";
esenha.text = "";
titulo.text = titulo.text + ' Usuário: ' + nomeusuario;
eAviso.text = 'Concluido.';
clearInterval(comeco);
}, 1000);
}
else if (parseInt(this.logou) == 0)
{
eAviso.text = "nome de usuário ou senha inválidos"
}
}
}
Se eu trocar a variavel $usuario da string sql e colocar um nome q eu sei q tem no banco, a consulta eh feita normalmente.
Obrigado.
oloco heim galera...o erro estava no cabeçalho do php.
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Data no passadoheader("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Sempre modificadoheader("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.1header("Pragma: no-cache"); // HTTP/1.0// Os cabeçalhos acima evitam que o arquivo seja colocado em cache, subscrevendo quaisquer configurações do usuário.
ele limpava os valores depois de efetuada a primeira consulta. retirado isto, o valor enviado do flash eh usado em varias consultas no mesmo arquivo.
Nada pessoal ?sugestão, ajuda, ? é mesmo dificil fazer isto ?[]'s