hsimberg Postado Julho 28, 2004 Denunciar Share Postado Julho 28, 2004 o Erro é esse Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/nand/public_html/mural/form.php on line 73o Form.php <?// Cabeçalho#################################################require("biblioteca/fasttemplate.php");require("config.php");require("idiomas/${idioma}.php");require("funcoes.php");$mural = new FastTemplate('templates/'.$template.'/');$mural->define(array('pagina' => 'form.htm'));$mural->assign('{Titulo}', $idioma_titulo);$mural->assign('{Copyright}', $copyright);// Faz a inserção dos dados no mural#################################################if($HTTP_POST_VARS['acao'] == "cadastrar"){ conecta(); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); $nome = $HTTP_POST_VARS['nome']; $para = $HTTP_POST_VARS['para']; $email = $HTTP_POST_VARS['email']; $data = date('d/m/y H:i'); $msg = codifica_msg(strip_tags($HTTP_POST_VARS['comentario'])); if(empty($nome)){ $erro = $idioma_nome_vazio; $err = 1; } if(empty($para)){ $erro = $idioma_para_vazio; $err = 1; } elseif(!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$",$email)){ $erro = $idioma_email_errado; $err = 1; } elseif(empty($msg)){ $erro = $idioma_msg_vazia; $err = 1; } else{ @mysql_query("INSERT INTO mural (ip, browser, nome, para, email, data, mensagem) VALUES ('$ip','$browser','$nome','$para','$email','$data','$msg')") or die("<font color=#FF0000><b>$idioma_inserir_dados</b></font>"); setcookie("ip", $ip, time()+(60*$tempo_cookie), "/"); echo "<script language=\"javascript\">\n function closeWindow(){\n window.close();\n }\n opener.location.href = opener.location;\n setTimeout('closeWindow()', 100);\n </script>\n"; }}if($err == 1){ $mural->define_dynamic('Erro','pagina'); $mural->assign("{Erro}", $erro); $mural->parse('ERRO','.Erro');}else{ $mural->define_dynamic('Erro','pagina'); $mural->clear_dynamic('Erro');} // Variáveis#################################################$mural->assign("{Nome}", $nome);$mural->assign("{Para}", $para);$mural->assign("{Email}", $email);$mural->assign("{Mensagem}", decodifica_msg($msg));$mural->assign("{IdiomaCaracteres}", $idioma_caracteres);$mural->assign("{IdiomaCaracteres2}", $idioma_caracteres2);$mural->assign("{IdiomaNome}", $idioma_nome);$mural->assign("{IdiomaPara}", $idioma_para);$mural->assign("{IdiomaEmail}", $idioma_email);$mural->assign("{IdiomaMensagem}", $idioma_mensagem);$mural->assign("{IdiomaEnviar}", $idioma_enviar);$mural->assign("{IdiomaCodigo}", $idioma_codigo);$mural->assign("{IdiomaAdmin}", $idioma_admin);$mural->assign("{IdiomaAjuda}", $idioma_ajuda);$mural->assign("{IdiomaVoltar}", $idioma_back_mural);$mural->assign('{Css}','templates/'.$template.'/');$mural->parse('OUTPUT','pagina');$mural->FastPrint('OUTPUT');mysql_close($conexao);?>Valeu gente Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 28, 2004 Denunciar Share Postado Julho 28, 2004 Tem que achar a parte onde está a sua conexão com o MySQL... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rog Postado Julho 28, 2004 Denunciar Share Postado Julho 28, 2004 a connexao da requeta ao banco e aleatoria@mysql_query("INSERT INTO mural (ip, browser, nome, para, email, data, mensagem) VALUES ('$ip','$browser','$nome','$para','$email','$data','$msg')")porque a funçao connect() não traz nemum id de recurso de connexao (que seria talvez $conexao)se trocar mysql_close($conexao);pormysql_close();deve desaparecer a messagemmas a insert continua aleatorio, sujeito a desfoncionamente Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hsimberg Postado Julho 28, 2004 Autor Denunciar Share Postado Julho 28, 2004 Arquivo_txtPs. Não dava pra postar em quote por causa do BBcode, desculpa ae Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 28, 2004 Denunciar Share Postado Julho 28, 2004 Não tem problema...Só o seguinte, cara...você tem aquela variável $conexao dentro da sua classe...você não pode chamar ela de fora da classe... a variável só vale pra dentro da função, a menos que você faça um esquema com escopo ali; deixando aquela variável global... aí daria pra fechar a conexão...Mas qual a vantagem de usar o mysql_close()? se a conxão se fecha automaticamente quando o script pára de ser executado? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hsimberg Postado Julho 28, 2004 Autor Denunciar Share Postado Julho 28, 2004 Bom 404, você me conhece e sabe meus conhecimentos...rsresumindo seria o que? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Julho 28, 2004 Denunciar Share Postado Julho 28, 2004 pelo que entendi o error falou para encaixar o mysql_close dentro da class... porem como ele mesmo disse isso é desnecessario...falou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 joao.vanelli Postado Julho 28, 2004 Denunciar Share Postado Julho 28, 2004 Olá pessoasA função conecta() faça ela retornar a variavel conexão, dai você joga o retorno para dentro do mysql_close($conexao);Falow Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rog Postado Julho 28, 2004 Denunciar Share Postado Julho 28, 2004 @joao.vanellilegal isso seria outra soluçao para apagar a messagem de erromas a requeta continua aleatoria porque não tem seleçao do banco fora da funçaode qualquer forma eu detesto essas funçoes que deixam o banco connectadofacilitam demais uma intrusao ao banco de dado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 28, 2004 Denunciar Share Postado Julho 28, 2004 Ela não deixa o banco conectado...a única que faz isso é a mysql_pconnect() que realmente não é recomendada; tem que ser usada com muito cuidado.O que eu disse é o seguinte... se você define uma variável dentro da função ela só vale dentro da função, se você define uma variável dentro da class ela só vale dentro da class. Por isso, quando você chama a $conexão, o script não encontra, porque ela foi definida dentro de uma função, dentro de uma class...Você teria que deixar essa variável global pra fazer com que ela seja reconhecida fora da class e fora da função. Mas isso não chega a ser necessário, o script fecha a conexão quando o usuário pára de executá-lo...Foi isso que eu quis dizer... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
hsimberg
o Erro é esse
o Form.php
Valeu gente
Link para o comentário
Compartilhar em outros sites
9 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.