Jump to content

Bruno Capella

Members
  • Content count

    968
  • Joined

  • Last visited

Community Reputation

7 Regular

About Bruno Capella

  • Birthday 05/13/1983

Informações Pessoais

  • Localização
    rio de janeiro
  1. Bruno Capella

    Chat de atendimento Online

    opa roger é possivel sim. é so você chamar no body o onunload e direcionar para uma pagina que faça encerrar a sessão. pode ser a logof ou sair.. que está no exemplo. veja <script> function sairFecha(){ alert("sua sessão será finalizada"); window.location = 'sair.php'; } </script> <body onunload='sairFecha()'> você pode implementar tb utilizando o ajax. ai é contigo :D/>
  2. Bruno Capella

    Chat de atendimento Online

    beleza. guilherme. Conversando com outros amigos ja tive varias ideias. mais to totalmente sem tempo. pra mexer nisso. toda ajuda. é bem vinda:D
  3. Bruno Capella

    Chat de atendimento Online

    to precisando fazer umas modificações nesse sistema mais to meio sem tempo,. mais é coisa de navegador. tenho que acertar isso :D/>ja tinha percebido :D/>
  4. Bruno Capella

    Chat de atendimento Online

    po foi mal não responde antesmais os arquivos que estavam faltando ja os coloquei no script. vlww.
  5. Bruno Capella

    Chat de atendimento Online

    po gente desculpa a demora ae. é que tenho andado sem tempo pra nada e no caso do arquivo zip.. não to conseguindo colocar no forum e estou com um problema no meu site que nao posso disponibilizar pra download :0 então quem quizer pode enviar o e-mail por mp ou pelo meu e-mail cadastrado que respondo com o chat em anexo. enquanto ao erro do mutar, é o seguinte. nesse sistema eu uso o mysqli e não o mysql pura.. se quiser entender mais sobre mysqli. olhe o tudo abaixo. http://www.php.net/manual/pt_BR/ref.mysqli.php recolocando. mutar provavelmente sua conexão com o banco está cetando para mysql e nao para mysqli bem colcoa assim $conn = mysqli_connect("server","user","senha","banco"); isso resolve seu problema e verifica se tem suporte a essa função. se nao me engano a partir do php4 e mysql 4.1, verifique no teu php.ini se a extrenção mysqli esta liberada se nao tiver libere e reinicie o apache. so acertando o q o gusgoçalves falou, a var $con é a conexão com o bd porem se alterar para mysql você deve alterar a posição tb.. assim $sql = mysql_query("com,ando sql", $con); beleza.. qualquer duvida posta ae
  6. Bruno Capella

    Chat de atendimento Online

    po tava la. kakkaa. deve ter saido na hora de inserir e nao percebi. mais vou colocar mais tarde denovo. :)/>
  7. Bruno Capella

    Chat de atendimento Online

    Mutar, qual o erro que está dando??e acima tem um arquivo zip que tem o chat completo. e ja tentou tirar as aspas da variável db?$sqldb=mysql_select_db("$db",$sqlconnect);assim $sqldb=mysql_select_db($db,$sqlconnect);testa aese possivel colocar o erro. que está dando.
  8. Bruno Capella

    Chat de atendimento Online

    Po gente. ta no laboratorio e pra quem quiser usar mesmo. estejam avontade. usem e abusem do script
  9. Bruno Capella

    Chat de atendimento Online

    Bem pessoal, fiz esse sisteminha de atendimento online em php+ajax, bem o sisteminha é bem simples. ta rodando direitinho para um atendente online. para colocar mais atendentes precisa fazer umas modificações para identificar pra qual atendente está sendo enviada a mensagem.. mais bem vamos la pro sistema. descrição dos arquivos do cliente chat.js // arquivo js que verifica as mensagens do cliente; checaMsg.php //responsavel em verificar se o atendente enviou a resposta novaMsg.php //faz a verificação se ainda está apberta a sessão e fechou informa que o atendimento foi encerrado. indexCliente.php // chat por si, e local de login. Descrição dos arquivos atendente chat2.js // arquivo js que verifica as mensagens do Atendente; checaMsg2.php //responsavel em verificar se o atendente enviou a resposta novaMsg2.php //faz a verificação se ainda está apberta a sessão e fechou informa que o atendimento foi encerrado. indexAtendente.php // chat por si, e local de login. bem os arquivos de cliente e do atendente são praticamente os mesmo. ainda tem os arquivos conecta.php e open.js, esses arquivos colocarei no final do post.. bem vamos aos arquivos eles estão todos comentados. CHAT.JS <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php">//dispara a função que lê o servidor window.onload = function(){ window.setInterval('ChecaMsg()', 2000); } //envia uma nova mensagem function EnviaMsg(msg){ ExibirMsg("<p><b>Você:</b> "+msg+"</p>"); var url="novaMsg.php?msg="+encodeURIComponent(msg); document.getElementById("msg").value=''; requisicaoHTTP("GET",url,true); } //busca novas mensagens function ChecaMsg(){ requisicaoHTTP("GET","checaMsg.php",true); } function ExibirMsg(msg){ var saida = document.getElementById("texto"); var nova = document.createElement('div'); nova.innerHTML = msg; saida.appendChild(nova); saida.scrollTop = 100000; // rolagem da pagina automática. } //exibe as novas mensagens function trataDados(){ var info = ajax.responseText; if(info) ExibirMsg(info); } </div><!--php2--></div><!--php3--> CHECAMSG.PHP <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><?php $gmtDate = gmdate("D, d M Y H:i:s"); header("Expires: {$gmtDate} GMT"); header("Last-Modified: {$gmtDate} GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Type: text/html; charset=ISO-8859-1"); include "conecta.php"; $mensagens=""; $res = mysqli_query($con,"select nome,msg from atendimento where origem='A' and msg<>''"); for($i=0;$i<mysqli_num_rows($res);$i++){ $dados = mysqli_fetch_row($res); $nome = $dados[0]; $msg = $dados[1]; $mensagens .="<p style="background-color:#E9E9E9"><b>" . ucwords($nome) . ": </b> " . strtoupper($msg) . "</p>"; $res2 = mysqli_query($con,"delete from atendimento where origem='A' and msg='$msg'"); } echo $mensagens; ?> </div><!--php2--></div><!--php3--> NOVAMSG.PHP <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><?php session_start(); $idConversa = session_id(); include "conecta.php"; import_request_variables("gc"); if(!empty($msg)){ //verifica se a sessão ainda está aberta $res = mysqli_query($con, "select * from atendimento where nome='$idConversa' and msg=''"); if(mysqli_num_rows($res)>0){ $res = mysqli_query($con,"insert into atendimento(nome,origem,msg) values('$nomeCliente','C','$msg')"); } else{ echo "<script>alert('Atendimento ja encerrado!'); window.location='indexCliente.php';</script>"; } } ?> </div><!--php2--></div><!--php3--> INDEXCLIENTE.PHP <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><?php ob_start(); ?> <?php //inicio dos comandos para o chat. include "conecta.php"; // incluo a conexão com o banco de dados. session_start(); //inicio a sessão $idConversa = session_id(); //obtenho a identificação da sessão iniciada //verifico se há algum atendente online. $at = mysqli_query($con,"select nome from atendimento where origem='A' and msg=''"); //usamos as letras A para atendendo e C para mensagens enviadas pelo usuário. if(mysqli_num_rows($at)==0){ echo "<html><body>"; echo "<h2 align=center>No momento não existem usuários onlines.</h2>"; echo "</body></html>"; exit(); } else{ $dados = mysqli_fetch_row($at); $atend = $dados[0]; //verifico se o atendente está ocupado. $oc = mysqli_query($con,"select * from atendimento where origem='C' and nome <> '$idConversa'"); if(mysqli_num_rows($oc)>0){ echo "<html><body>"; echo "<h2 align='center'>O atendente está ocupado no momento.</h2>"; echo "</body></html>"; exit(); } } //exibe o formulário de login if(!isset($_POST["nome"]) || empty($_POST["nome"])){ ?> <!-- inicio aqui o conteudo html --> <html> <head> <title>Chat de atendimento Online</title> </head> <body> <center> <h2 style="color:#CCCCCC">Atendimento Online</h2> <form name="login" method="post" action="indexCliente.php"> <div style="background-color:#999999; color:#FFFFFF"> Seu nome: </div> <div style="background:#CCCCCC"> <input type="text" name="nome" maxlength="65" size="50" /> <input type="Submit" name="Submit" value="Entrar" /> </div> </form> </center> </body> </html> <!-- aqui termino o mode html do formulário de identificação --> <?php }//fecho o if de verificação de se foi ou não preenchido o login. else{ //inicia o chat $nome = ucfirst($_POST["nome"]); setcookie("nomeCliente", $nome); $ins = mysqli_query($con,"insert into atendimento(nome,origem,msg) values('$idConversa','C','')"); $ins = mysqli_query($con,"insert into atendimento(nome,origem,msg) values('$nome','C','[entrou no chat]')"); //fecho as linhas em php ?> <!-- reinicio os codigos html agora do chat --> <!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=iso-8859-1" /> <title>Chat do atendente</title> <script src="open.js"></script> <script src="chat.js"></script> </head> <body> <h2 align="center">Você está no atendimento online</h2> <table width="100%" border="0" cellpadding="0" cellspacing="3"> <tr> <td bgcolor="#ECFFEC"> <div id="texto" style="width:100%; height:300px; overflow:auto"> <p style="background-color:#E9E9E9"><b><?php echo ucwords($nomeAtendente); ?>:</b> Olá <?php echo $nome; ?>, seja bem vindo ao nosso atendimento on-line, em que posso ser util?</p> </div> </td> </tr> <tr> <td> <form action="java script:void%200" name="formAjax" onSubmit="EnviaMsg(this.msg.value); return false"> Sua Mensagem: <input type="text" name="msg" id="msg" size="50" maxlength="150" /> <input type="submit" name="Submit" value="Enviar" /> </form> </td> </tr> </table> <p align="right"><a href="java script:window.close();">Sair do Chat</a></p> </body> </html> <?php }//fecha o que resta ?> </div><!--php2--></div><!--php3--> Arquivos do Atendente. CHAT2.JS <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php">// JavaScript Document //dispara a função que lê o servidor window.onload = function(){ window.setInterval('ChecaMsg()', 2000); } //envia uma nova mensagem function EnviaMsg(msg){ ExibirMsg("<p><b>Você:</b> "+msg+"</p>"); var url="novaMsg2.php?msg="+encodeURIComponent(msg); document.getElementById("msg").value=''; requisicaoHTTP("GET",url,true); } //busca novas mensagens function ChecaMsg(){ requisicaoHTTP("GET","checaMsg2.php",true); } function ExibirMsg(msg){ var saida = document.getElementById("texto"); var nova = document.createElement('div'); nova.innerHTML = msg; saida.appendChild(nova); saida.scrollTop = 100000; //rolagem automatica } function NovoAtendimento(){ var saida = document.getElementById("texto"); saida.innerHTML = ''; // limpa o texto do chat requisicaoHTTP("GET","excluiMsg2.php",true); } //atualiza texto do chat function trataDados(){ var info = ajax.responseText; if(info) ExibirMsg(info); } </div><!--php2--></div><!--php3--> CHECAMSG2.PHP <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><?php ob_start(); $gmtDate = gmdate("D, d M Y H:i:s"); header("Expires:{$gmtDate}GMT"); header("Last-Modified: {$gmtDate}GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Type: text/html; charset=ISO-8859-1"); include "conecta.php"; $mensagens = ""; $res = mysqli_query($con, "select nome,msg from atendimento where origem='C' and msg <> ''"); for($i=0;$i<mysqli_num_rows($res);$i++){ $dados = mysqli_fetch_row($res); $nome = $dados[0]; $msg = $dados[1]; $mensagens .= "<p style="background-color:#E9E9E9"> <b>" . ucwords($nome) . ": </b> " . strtoupper($msg) . " </p>"; $res2 = mysqli_query($con, "delete from atendimento where origem='C' and msg='$msg'"); } if($mensagens!=""){ echo "$mensagens <script>alert('Você recebeu uma mensagem');</script>"; } else{ echo ""; } ?> </div><!--php2--></div><!--php3--> NOVAMSG2.PHP <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><?php ob_start(); include "conecta.php"; import_request_variables("gc"); if(!empty($msg)){ //verifica se há usuário conectado $res = mysqli_query($con, "select * from atendimento where origem='C'"); if(mysqli_num_rows($res)>0){ $res = mysqli_query($con, "insert into atendimento(nome,origem,msg) values('$nomeAtendente','A','$msg')"); } } ?> </div><!--php2--></div><!--php3--> INDEXATENDENTE.PHP <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><?php ob_start(); ?> <?php include "conecta.php"; $log = mysqli_query($con,"select nome,email,senha from user where email='" . $_POST["email"] . "' and senha='" . $_POST["senha"] . "'"); $ver = mysqli_num_rows($log); $row = mysqli_fetch_row($log); $nomeAtendente = $row[0]; $email = $row[1]; $senhaChat = $row[2]; /* /////////////////////// definido aqui o nome de atendente e a senha essa parte pode ser alterada para buscar os dados em uma tabela.. ///////////////////////////// */ //exibe o formulário de login caso for verdade. if(!isset($_POST["senha"]) && !isset($_POST["email"]) || $_POST["senha"]!=$senhaChat && $_POST["email"]!=$email){ ?> <html> <body> <h2 align="center">Login do atendente</h2> <form action="indexAtendente.php" name="login" method="post"> <div align="center"> <p> E-mail: <input type="text" name="email" id="email" size="15"/><br /><br /> Senha: <input type="password" name="senha" id="senha" size="15" maxlength="15" /> </p> <p> <input name="iniciar" type="submit" id="Iniciar" value="Logar" /> </p> </div> </form> </body> </html> <?php }//fehca o if else{ ob_start(); //inicia o chat include "conecta.php"; $res = mysqli_query($con, "insert into atendimento(nome,origem,msg) values('$nomeAtendente','A','')"); setcookie("nomeAtendente", $nomeAtendente); ?> <!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=iso-8859-1" /> <title>Chat do atendente</title> <script src="open.js"></script> <script src="chat2.js"></script> </head> <body> <h2 align="center">Atendimento via Chat</h2> <table width="100%" border="0" cellpadding="0" cellspacing="3"> <tr> <td bgcolor="#FFFF99"> <div id="texto" style="width:100%; height:300px; overflow:auto"></div> <div align=center id=sound></div> </td> </tr> <tr> <td> <form action="java script:void%200" name="formAjax" onSubmit="EnviaMsg(this.msg.value); return false"> Sua Mensagem: <input type="text" name="msg" id="msg" size="50" maxlength="150" /> <input type="submit" name="Submit" value="Enviar" /> </form> </td> </tr> </table> <p align="right"> <a href="java script:NovoAtendimento();">Finalizar Atendimento atual</a> | | <a href="logout.php">Encerrar Chat(Sair)</a> </p> </body> </html> <?php }//fecha else ?> </div><!--php2--></div><!--php3--> excluirMsg2.php <?phpob_start();/*$gmtDate = gmdate("D, d M Y H:i:s");header("Expires: {$gmtDate} GMT");header("Last-Modified: {$gmtDate} GMT");header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache");header("Content-Type: text/html; charset=ISO-8859-1");*/include "conecta.php";import_request_variables("c");$res = mysqli_query($con,"delete from atendimento");$res = mysqli_query($con,"insert into atendimento(nome,origem,msg) values('$nomeAtendente','A','')");print "<center><img src='load.gif' /></center>";?>Logout.php <?php$gmtDate = gmdate("D, d M Y H:i:s");header("Expires:{$gmtDate}GMT");header("Last-Modified: {$gmtDate}GMT");header("ache-Control: no-cache, must-revalidate");header("Pragma: no-cache");include "conecta.php";$res = mysqli_query($con,"delete from atendimento");header("location:indexAtendente.php");?>Bem não comentei mais os arquivos pq as principais partes estão comentadas . Abaixo tem as tabelas que uso nesse sisteminha. tabela de Atendimento. CREATE TABLE `atendimento` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(80) NOT NULL, `origem` varchar(20) NOT NULL, `msg` text NOT NULL, PRIMARY KEY (`id`) ) ; tabela de Usuários. CREATE TABLE `user` ( `iduser` int(4) NOT NULL auto_increment, `nome` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `senha` varchar(32) NOT NULL, PRIMARY KEY (`iduser`) ); insert da tabela user.; INSERT INTO `user` VALUES (1, 'bruno capella vilela', 'bcapella@fenixael.com.br', '558875'); Agora vou colcoar a bliblioteca ajax que será necessária para o funcionamento :)/> OPEN.JS //iniciando a requisição http e criando o objvar ajax;var dadosUsuario;function requisicaoHTTP(tipo,url,assinc){ if(window.XMLHttpRequest){ ajax = new XMLHttpRequest(); } else if(window.ActiveXObject){ ajax = new ActiveXObject("Msxml2.XMLHTTP"); if(!ajax){ ajax = new ActiveXObject("Microsoft.XMLHTTP"); } } if(ajax){ iniciaRequisicao(tipo,url,assinc); } else{ alert("Não possui suporte a AJAX"); }}// inicializao objeto criado e envia os dados function iniciaRequisicao(tipo,url,bool){ ajax.onreadystatechange=trataResposta; ajax.open(tipo,url,bool); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlecncoded; chanset=UTF-8"); //ajax.overrideMimeType("text/xml"); /* usado somente com mozila */ ajax.send(dadosUsuario);}function enviaDados(url){ criaQueryString(); requisicaoHTTP("POST",url,true);}function criaQueryString(){ dadosUsuario=""; var frm = document.forms[0]; var numElementos = frm.elements.length; for(var i=0;i<numElementos;i++){ if(i< numElementos-1){ dadosUsuario += frm.elements[i].name+"="+ encodeURIComponent(frm.elements[i].value)+"&"; }else{ dadosUsuario += frm.elements[i].name+"="+ encodeURIComponent(frm.elements[i].value); } }}function trataResposta(){ if(ajax.readyState==4){ if(ajax.status ==200){ trataDados(); }else{ alert("Problema na requisição com o objeto XMLHttpRequest."); } } } creio que o arquivo conecta todos sabem fazer né:)/> bem por isso não vou posta-lo porem se alguem tiver duvida é so falar. bem modificações e sugestões são bem vindas. bem espero que agrade :)/> quem preferir tem o arquivo completo para upload.. tb :)/>
  10. Bruno Capella

    Upload de foto e salvando o path no banco

    so que coloco no if. tipo if($sql !=0){echo "gravou";}else{echo "erro";}so isso que da., mais nada. ele cai direto no else. e o banco fica vazio
  11. Bruno Capella

    Upload de foto e salvando o path no banco

    fabyo..nao ta salvando o caminho no banco de dados. so ta mostrando o caminho e cm nao salva nada no banco ele nao mostra nada. o banco ta ficando vazio. sem o caminho da imagem so ta fazendo é levar o arquiivo pra dentro da pasta.
  12. Bruno Capella

    Upload de foto e salvando o path no banco

    quando do um cho no arquivo ele me mostra o caminho arquivos/php_artigo105.zipmais salva esse caminho.
  13. Bruno Capella

    Upload de foto e salvando o path no banco

    Boa tarde gente,to precisando de ajuda. muita ajuda. vi esse script de upload salvando no patch o caminho. so o que ta acontecendo. ele salva a imagem numa boa so que nao salva n o patch o caminho. ele nao da erro nenhum. eu coloquei um if simples so pra saber se tinha resultado o sql. e da erro . meu sql segue abaixo.$sql = mysql_query("INSERT INTO fotos(id, foto) VALUES ('$id', '$arquivo_nome')"); if($sql !=0){ echo "Foto inserida."; } else{ echo "Erro ao inserir a foto do banco."; }}//$id eu to pegando o id do usuário ou da noticia se fosse o caso que esta inserida no banco de dadosse aguem poder me ajudar eu agradeço muito .. vlw..
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.