fabiapo 0 Denunciar post Postado Junho 2, 2009 pessoal, Estou montando uma página em PHP onde, ao final da execução de uma query em PostgreSQL, tenho que exibir uma mensagem caso ocorra algum erro. O erro já está armazenado em uma variável. Apenas preciso pegar este resultado que está no final do meu código e chamar uma janela em javascript ou JQuery. Alguém sabe como? Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Junho 2, 2009 echo '<script type="text/JavaScript">alert("'.$erro.'");</script><noscript><div class="alert">'.$erro.'</div></noscript>'; ? Compartilhar este post Link para o post Compartilhar em outros sites
fabiapo 0 Denunciar post Postado Junho 2, 2009 Eibon, Vou explicar melhor o meu código: Estou fazendo o tratamento de um formulário POST na mesma página em PHP da seguinte forma: if (isset($_POST['sub_Enviar'])) // nome do botão enviar: sub_Enviar { $nm_Usuario = $_SESSION["nom_usu"]; $id_UsuarioLogado = $_SESSION["id_usuario"]; $str_SenhaAtual= md5($_POST["pwd_SenhaAtual"]); $str_NovaSenha = md5($_POST["pwd_NovaSenha"]); $str_Frase = $_POST["txt_Frase"]; $str_Assinatura = $_POST["rdo_Assinatura"]; $query = "SELECT altera_senha('$nm_Usuario','$str_NovaSenha','$str_Frase','$str_Assinatura', $id_UsuarioLogado,$id_UsuarioLogado)"; // seleciona função postgresql $rs = @pg_query($dbconn, $query); if (!$rs) // se der erro { $str_message="Não foi possível alterar sua senha. Contate o administrador"; $str_erro=pg_last_error($dbconn); $str_message=$str_message."<br>".$str_erro; // NESTE PONTO PRECISO COLOCAR O ALERT COM O ERRO!!! } else { $str_message="Senha cadastrada com sucesso"; header("Location:principal.php"); } } Tentei o código que você me enviou mas não funcionou. Existe algo de diferente para aplicar no código neste caso? Obrigada! Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Junho 2, 2009 if (!$rs) // se der erro { $str_message = 'Não foi possível alterar sua senha. Contate o administrador'; $str_erro = pg_last_error($dbconn); $str_message = $str_message.'<br />'.$str_erro; echo '<script type="text/JavaScript">alert("'.$str_message.'");</script><noscript><div class="alert">'.$str_message.'</div></noscript>'; } Compartilhar este post Link para o post Compartilhar em outros sites
fabiapo 0 Denunciar post Postado Junho 3, 2009 André, Eu havia inserido desta forma, conforme o eibon citou, mas não havia funcionado. Será que tem a ver com a validação na mesma página, ou seja, após a tag /HTML? Obrigada Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Junho 3, 2009 Porque nao funciona? O que ocorre? Compartilhar este post Link para o post Compartilhar em outros sites
fabiapo 0 Denunciar post Postado Junho 4, 2009 André, Este é o problema: não acontece nada.rss O navegador gera o seguinte código ao final da página HTML, ou seja, após o "</HTML>": <script type='text/JavaScript'>window.alert('Não foi possível alterar a senha. Contate o administrador<br>ERRO: função ffp_altera(unknown, unknown, unknown, unknown, integer, integer) não existe LINE 1: SELECT ffp_altera('teste','d380ab4325d44e48731034e24165... ^ HINT: Nenhuma função corresponde com o nome e os tipos de argumentos informados. Você precisa adicionar conversões de tipo explÃcitas.');</script> Será que existe alguma particularidade com a mensagem? Pois se eu colocar "olá" aparece. Se existir, existe alguma outra forma de apresentar a mensagem para o usuário via JQUERY ou javascript? Obrigada! Porque nao funciona? O que ocorre? Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Junho 4, 2009 Calvin...nada a ver. fabia...seguinte...dá uma olhada: <script type='text/JavaScript'>window.alert('Não foi possível alterar a senha. Contate o administrador<br>ERRO: função ffp_altera(unknown, unknown, unknown, unknown, integer, integer) não existe LINE 1: SELECT ffp_altera('teste','d380ab4325d44e48731034e24165... ^ HINT: Nenhuma função corresponde com o nome e os tipos de argumentos informados. Você precisa adicionar conversões de tipo explÃcitas.');</script> JavaScript não tem um debugger...você tem que prestar atenção nessas coisas... Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Junho 4, 2009 tem um debbuger chamado firebug que eh um complemento do firefox que mostra os erros do javascript eh mt util para desenvolver Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Junho 4, 2009 Sim...existem debbugers a parte. Mas deu pra entender o que eu quis dizer... Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Junho 4, 2009 sim, minha intenção nao foi contrariar oque você disse, so fazer uma propaganda do firebug :P e digasse de passagem tem um firebug pra php tambem e um para cookies Compartilhar este post Link para o post Compartilhar em outros sites
fabiapo 0 Denunciar post Postado Junho 4, 2009 Eibon, Esta mensagem não é gerada por mim, e sim um retorno de erro do banco de dados. O que quero fazer é, em caso de erro, exibir um alert informando que houve um problema e qual a mensagem de erro para posterior análise. Realizei um str_replace na variavel que retorna a frase para retirar as ', mesmo assim não funcionou: <script type="text/JavaScript">window.alert("Não foi possível alterar sua senha. Contate o administrador<br>ERRO: função ffp_altera_senh(unknown, unknown, unknown, unknown, integer, integer) não existe LINE 1: SELECT ffp_altera_senh(teste,d380ab4325d44e48731034e24165... ^ HINT: Nenhuma função corresponde com o nome e os tipos de argumentos informados. Você precisa adicionar conversões de tipo explÃcitas.");</script> Fiz da seguinte forma: if (!$rs) { $str_message="Não foi possível alterar sua senha. Contate o administrador"; $str_erro=pg_last_error($dbconn); $str_message=$str_message."<br>".$str_erro; $str_message=str_replace("'","",$str_message); [b]echo '<script type="text/JavaScript">'; echo 'window.alert("'.$str_message.'");'; echo '</script>';[/b] } Existe mais algum detalhe a ser observado? Desculpe a pergunta, mas não tenho muita habilidade com o javascript. :o) Só sei que dá uma mensagem no console do Firefox dizendo: unterminated string literal Compartilhar este post Link para o post Compartilhar em outros sites
fabiapo 0 Denunciar post Postado Junho 4, 2009 Pessoal, Descobri o erro: O Postgre gera um /n em sua frase de erro. Desta forma, o javascript encara como final de string. Realizei um replace /n no php e exibiu normalmente. Obrigada! Compartilhar este post Link para o post Compartilhar em outros sites