Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ahsc

msn

Recommended Posts

Tô fazendo um sistema administrativo para uma empresa. Eles trabalham com chat e queriam encrementá-lo. Então, quiseram algo mais ou menos assim:Um sistema onde o cliente acessasse por meio de login e senha e quando estiverem nele possam escolher o atendente e o setor que desejam tirar dúvidas.EX: Criei o sistema administrativo interno onde há um link "chat". Ao clicar neste link, são passados alguns parâmetros para uma página que inicializa o chat. Ao ser inicializado pelo atendente, automaticamente, este atendente apareçe na página de qualquer cliente que esteja logado.Lógico que, dependendo de qual setor o atendente logou, este será visualizado da mesma forma na página do cliente. EX: se o setor que o atendente logou é administrativo, então aparecerá, na tela do cliente, nome do sulado e setor correspondente. E assim por diante.Bem, quando o atendente está disponível, o nome dele apareçe em forma de link que por sua vez passará novos parâmetros para uma nova página que incluirá o cliente no chat e em contato com o atendente que ele escolheu.A página que recebe os parâmetros que foram enviados, armazena essas informações em campos invisíveis e posteriormente os transforma em variáveis de sessão como segue o código:<? session_start(); ?><? $con=mysql_connect("localhost","root"); mysql_select_db("telles_ocot");?><!---------Campos invisíveis para receber as informações para as variáveis id, setor, nomUsuario e cliente-------><form id="form1" name="form1" method="get" action=""> <input name="id" type="hidden" value="<?=$id;?>" /> <input name="setor" type="hidden" value="<?=$setor;?>" /> <input name="atendente" type="hidden" value="<?=$atendente;?>" /> <input name="cliente" type="hidden" value="<?=$cliente;?>" /></form><? /*autentica e redireciona para a página solicitada*/ $login1=$atendente;//variável responsável pelo arquivo txt $login=$cliente;//variável responsável pelo nome do cliente echo("<script language='JavaScript'>"); switch($setor){ case 1: echo("location.href='contabil/chamachat.php'"); break; case 2: echo("location.href='fiscal/chamachat.php'"); break; case 3: echo("location.href='trabalhista/chamachat.php'"); break; case 4: echo("location.href='juridica/chamachat.php'"); break; } echo("</script>"); session_register("login1"); session_register("login"); session_register("id"); session_register("cliente"); session_register("atendente"); ?>Lembrando que não estou utilizando bd para armazenar as informações postadas no chat e sim utilizando arquivo de texto ".txt" e isto é criado pelo comando: $file = fopen("'$login1'.txt", "a+"); onde a variável $login1 aramzena o nome do atendente já que ao se conectar com o chat o atandente gera um arquivo txt com seu nome.Até aí, legal. Se o cliente clicar no nome do atendete, ele se conecta ao chat e consegue conversar com ele, porém, se este mesmo cliente tentar se conectar com outro atendente ele consegue, só que não consegue enviar mensagens. Pelo que vi a variável $login1, que deveria armazenar o nome do atendente selecionado para que seja gerado o arquivo txt e a partir daí as informações serem postadas, só consegue armazenar o valor de apenas um atendente.Ou seja, necessáriamente só se consegue conversar com apenas um atendente. Verifiquei que a variável de sessão se perde e com isso não é possível cirar o arquivo txt para que haja a conversa. O esquema a seguir demostrará o que aconteçe.1- O atendente loga e clica no link "chat";2 - Clicando no link "chat" são passados parâmetros para um outro arquivo;3 - este arquivo "conecta" o atendente ao chat e cria um arquivo txt com seu nome. Ex; Atendente chama-se "Olá" o arquivo txt se chamará "olá.txt";O arquivo txt será responsávem em receber o conteúdo da conversa entre atendente e cliente.4 - Quando o atendente se conecta ao chat, automáticamente, este aparece na tela do cliente que ao clicar nele passa novos parâmetros para o código acima e redireciona para o mesmo chat onde se encontra o atendente e tb é criado omesmo arquivo txt ( com o mesmo nome do atendente) conforme explicado acima.5 - Só que da primeira vez não há problema, porém, se o cliente tentar se conectar com outro atendente ele não consegue gerar o arquivo txt com o mesmo nome do atendente que ele clicou;6 - Só apareçe o arquivo que foi criado pela primeira vez.EX: atendente: "PAULO" cria arquivo :"paulo.txt" e atendente: "Gibão" cria arquivo: "gibão.txt"Cliente: "Pedro". Ao clicar em um dos atendentes é gerado um arquivo txt de nome correspondente.Só que o que aconteçe aqui é o seguinte: Se eu clicar em um deles, por exemplo, clicar no atendente "Paulo" gera-se o arquivo txt e consegue-se conversar. Porém, se o cliente clicar no outro atendente, "Gibão", ele conecta-se ao mesmo chat, só que o arquivo txt gerado é o mesmo criado anteriormente "paulo.txt".Alguém consegue me ajudar a resolver isto?Sei que é um pouco longo mais é necessário explicar para que se entenda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tive a necessidade de fazer estas variáveis de sessão, uma vez que serão usadas em outras aplicações. O problema é que a variável de sessão só reconheçe um parâmetro por vez, pelo menos até onde sei, e preciso que ela distinga vários.Como fazer isto? este é o código q vai receber a variável $login1<? session_start(); ?><html><head> <meta http-equiv=refresh content=2 url=ChatVeMens.php></head><BODY BGCOLOR="#ffffff" TEXT="#E0DCE0" VLINK="#E0DCE0" LINK="#E0DCE0"><?//file = fopen("'$login1'.txt", "a+");$arquivo = fopen("'$login1'.txt","r");echo(fread($arquivo, max(1,filesize("'$login1'.txt"))));echo $login1;fclose($arquivo);?></body></html>Então, quando o cliente clica no atendente disponível é gerada a variável $login que vai receber o nome do atendente escolhido que gerará o arquivo .txt.isto é feito para que possa haver uma conversa entre o atendente escolhido e o cliente. Porém, ao escolher o primeiro, somente é criado o arquivo txt do primeiro. Clicando numa segunda ou numa terceira pessoa, isto não ocorre. Então, gostaria de saber como resolvo isto?Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.