Publicidade

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 :)/>

Editado por Mário Monteiro
7

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é Bruno,a gente pode se apoderar de seu feito?

Vou ser sincero, to desenvolvendo um sisteminha e meu cliente me pediu um atendimento online e eu ainda ia pensar o que fazer..mas agora .. http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif/>

Abraço!!

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif/>

 

Testei o script aqui e não funciono...

 

Meu arquivo de conecção:

 

conecta.php

<?php$host = "localhost"; //servidor de banco de dados$user = "root"; //usuario do banco de dados$senha = "xxxxx"; //senha do banco de dados$db = "sistema_chat"; //banco de dados$sqlconnect=mysql_connect($host, $user, $senha);if(!$sqlconnect)die("Não conectou com o banco de dados.");$sqldb=mysql_select_db("$db",$sqlconnect);if(!$sqldb)die("Não foi possivel selecionar a base de dados.");?>
se possivel poste aqui o link com o script completo... vlw http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/> Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

e acima tem um arquivo zip que tem o chat completo.

..Aonde ta isso velho?Abraço!
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria uma boa mesmo por o link facilitaria muito...

 

em relação ao erro:

 

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\Arquivos de programas\VertrigoServ\www\atende\indexAtendente.PHP on line 8Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\Arquivos de programas\VertrigoServ\www\atende\indexAtendente.PHP on line 9Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, null given in C:\Arquivos de programas\VertrigoServ\www\atende\indexAtendente.PHP on line 10
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta fazer assim:

 

No erro se vcs observarem esta apontando pra:

mysqli_query

remova o i do mysqli_query

 

Agora assim:

 

$res = mysql_query ($con, "select * from bla bla bla e assim vai");

tente fazer assim:

 

o server neste erro não esta entendendo que a variável $con é igual a $res, então deduz que temos q especificar.

 

$res = mysql_query

 

ficaria:

 

$con = mysql_query

 

e o $res fica assim

 

$res = $con;

 

Assim resolvi esses erros, mas se estiver errado a minha lógica por favor me corrijam.

 

Um abraço

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

bruno ainda faltam algumas paginas, como por exemplo a excluimsg2.phplogout.phpse possivel me manda o arquivo que eu hospedo e deixo o link para a galera!!me manda uma MPmas ficou show o sistemaabraço

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito legal esse sistema... funciona super bem.. mais não sei se é só comigo ou com mais alguém acontece é que no IE a função alert() para avisar o atendente que chegou uma nova msg não funciona.. no FireFox roda beleza mais no IE......Valeu e parabéns pelo programa!!abc

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

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/>

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me senti na liberdade de fazer um RAR com todos os arquivos, inclusive o de conexão. Passei tudo pra mysql ao invés de mysqli e resolvi alguns Bugs também.

 

Pretendo fazer a modificação pra atendentes múltiplos.

 

Segue o link do chat testado e funcionando: http://rapidshare.com/files/64896125/chat.rar.html

 

:)/>

 

t+

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me senti na liberdade de fazer um RAR com todos os arquivos, inclusive o de conexão. Passei tudo pra mysql ao invés de mysqli e resolvi alguns Bugs também.

 

Pretendo fazer a modificação pra atendentes múltiplos.

 

Segue o link do chat testado e funcionando: http://rapidshare.com/files/64896125/chat.rar.html

 

:)/>

 

t+

Desculpem minha ignorância mas baixei o arquivo aí acima e resolvi testar aqui mas surgiu uma dúvida, como faço para testar? Tenho que rodar a página indexAtendente.php ? É que quando rodo ela, preencho o e-mail e senha (sim, eu troquei no BD http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/> ) mas fica na mesma página, não acontece nada. Como funciona? Alguém poderia me ajudar a entender? É que achei muito legal o sisteminha!

Obrigado!

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me senti na liberdade de fazer um RAR com todos os arquivos, inclusive o de conexão. Passei tudo pra mysql ao invés de mysqli e resolvi alguns Bugs também.

 

Pretendo fazer a modificação pra atendentes múltiplos.

 

Segue o link do chat testado e funcionando: http://rapidshare.com/files/64896125/chat.rar.html

 

:)/>

 

t+

Desculpem minha ignorância mas baixei o arquivo aí acima e resolvi testar aqui mas surgiu uma dúvida, como faço para testar? Tenho que rodar a página indexAtendente.php ? É que quando rodo ela, preencho o e-mail e senha (sim, eu troquei no BD http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif/> ) mas fica na mesma página, não acontece nada. Como funciona? Alguém poderia me ajudar a entender? É que achei muito legal o sisteminha!

Obrigado!

 

Opa! Erro meu galera! Foi mal! Fiz caca, eu assumo! Hehehehe! Tá 10!

Obrigado aí meu povo!

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Bom mesmo, e quanto ao bug, na verdade eu tente uma pá de coisa pra acertar, mas nada feito

IE maudito >(

Mas estou esperando a nova versão, espero que venha :)/>

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho esse script no site que eu fiz pra uma materia da faculdade, ta com uns bugs se puderem arrumar, me enviem por email

marlonleandrorpg<arroba>gmail<ponto>com

 

entrem ai galerinha

http://mrj2.6te.net/mrj2/chat/chat/indexAtendente.php

login: atendente_teste

senha: 123456

 

http://mrj2.6te.net/mrj2/chat/chat/indexCliente.php

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tentando implementar, mas você vai ter que acompanhar o topico, mandar na mãozinha é moleza demais ;)/>

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aeeeeeeeee o sistema funcionou 98% http://forum.imasters.com.br/public/style_emoticons/default/clap.gif/>

Tem 2 coisas que ta bugando...

1 - Quando 1 cliente abre outra janela com o mesmo PC, o atendente envia msg para a janela que ele abriu por ultimo e não para janela do primeiro chat.

2 - Quando digita alguns caracteres buga as letras. ex: Ç Ã ...

 

http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif/> Mais o sistema fico doidera http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif/>

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui tenho alguns problemas

 

1º - na linha 7, onde pega a senha e o e-mail no MySQL, da erro falando

Undefined index: email

Undefined index: senha

 

e o atendente loga mesmo sem colocar login e senha =[

 

2º - Quando o Atendente fala no chat da esses erros

Notice: import_request_variables() [function.import-request-variables]: No prefix specified - possible security hazard in D:\Arquivos de Programas\EasyPHP 2.0b1\www\funcional chat\novaMsg2.php on line 4

 

Notice: Undefined variable: nomeAtendente in D:\Arquivos de Programas\EasyPHP 2.0b1\www\funcional chat\novaMsg2.php on line 9

 

No Chat do Cliente também dá o erro 2.1

 

Acho que so falta isso pra funciona a 100% aqui :D/>

Editado por Mário Monteiro
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora