Ir para conteúdo
Fórum Script Brasil
  • 0

Erro


hsimberg

Pergunta

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 73

o 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

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

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);

por

mysql_close();

deve desaparecer a messagem

mas a insert continua aleatorio, sujeito a desfoncionamente

Link para o comentário
Compartilhar em outros sites

  • 0

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? huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

@joao.vanelli

legal

isso seria outra soluçao para apagar a messagem de erro

mas a requeta continua aleatoria porque não tem seleçao do banco fora da funçao

de qualquer forma eu detesto essas funçoes que deixam o banco connectado

facilitam demais uma intrusao ao banco de dado

Link para o comentário
Compartilhar em outros sites

  • 0

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... smile.gif

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...