Ir para conteúdo

Arquivado

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

Vales & Dores

Chat Individual

Recommended Posts

cada usuario tem uma pagina e nessa pagina tem um link chamado chat que quando voce clica aparece um pequeno chat relacionando a pessoa que clico e deixa a msg?

 

Outra coisa como tratar essas msg ? dentro ou fora do MYSQL?

 

Obrigado gente.

 

Haaa!!! o pessoal nao manja ou o programa e tenso de fazer.

fala serio nossa evoluçao abril as @#@## para um chat ?

Eu tudo bem eu nao manjo mesmo mas graças a voces eu to aprendendo, ainda to colocando os codigos que voces me ajudam no forum todos testados, se isso continuar vales&dores Vai virar um peque pronto rsss;

 

 

Ai gente da uma mao nessa passa o caminho e vamos ver se eu chego lá.

 

um abraço a todos.

 

OBS nao existe programadoras boas em sao paulo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza existem ótimos profissionais aqui que conseguem fazer isto com os pés nas costas, eu mesmo já tenho isto pronto, desenvolvido para um cliente, o que acontece é que é complicado explicar algo para alguém que visivelmente tem problemas na parte de lógica de programação e algoritmos, e sem isto fica muito difícil se aprender a programar, a partir do momento que você dominar este dois itens vai conseguir aprender com muita facilidade qualquer linguagem, já que o que vai mudar é apenas a sintaxe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza existem ótimos profissionais aqui que conseguem fazer isto com os pés nas costas, eu mesmo já tenho isto pronto, desenvolvido para um cliente, o que acontece é que é complicado explicar algo para alguém que visivelmente tem problemas na parte de lógica de programação e algoritmos, e sem isto fica muito difícil se aprender a programar, a partir do momento que você dominar este dois itens vai conseguir aprender com muita facilidade qualquer linguagem, já que o que vai mudar é apenas a sintaxe.

 

O que eu tenho a falar pra voce amigo e MUITO OBRIGADO, deixa eu te fazer uma pergunta voces que vem aqui ler o texto tem ideia de que palavra chave eu posso usar no google pra começar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Obrigado Luiz niguem nasce sabendo valeu cara, sem voces que tem o espirito evangelista openSoucer pessoas como eu ficaria mal cara valeu

 

A lógica é mais ou menos assim:

 

Quando o user clicar em enviar mensagem na interface do chat:

Será enviado um Post para uma página php que vai pegar a mensagem, o id do user e a data/hora

Rotina de INSERT para gravar esses dados no BD.

 

Esse POST pode ser via ajax.

 

Depois tem um código javascript/ajax que fica buscando os dados no bd a cada 1 segundo por exemplo, e jogando na tela de quem estiver no chat.

 

O problema desses chats é que sobre-carregar o servidor de tanta requisição a cada 1 segundo.

 

Mais ou menos isso o javascript/ajax:

 




function callComplete(response){

 //aqui vai o codigo que coloca o html resposta na tela

}

function connect(id_user, texto) {
       $.ajax({
               type: "POST",
               url: "caminho/chat.php",
               data: "id_user="+id_user, "texto="+texto
               success: function(response){
                         //caso sucesso chama a função abaixo
                         callComplete(response);
               },
               dataType: "json"
       });
};      

setTimeOut(connect(id_user, texto), 1000);



 

Pesquise sobre requisições em ajax, não é muito complicado.

 

e conpricado mas tem gente que ajuda estou estudando obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

o link q te passei usa Polling. ele abre uma requisição e deixa ela na escuta.. ate algo ser enviado..

 

evita isso de manda uma requisição a cada 1 segundo..

 

Estuda aquele codigo, e melhor pra você.. Ele ta de alto nivel.

 

assim q me sobra um tempim vo implementa a opção de clica no nick e chama um popup pra um PM.

 

tem uns chats prontos ja você pega um widget em javascript cola dentro da div no seu site e ta resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o link q te passei usa Polling. ele abre uma requisição e deixa ela na escuta.. ate algo ser enviado..

 

evita isso de manda uma requisição a cada 1 segundo..

 

Estuda aquele codigo, e melhor pra você.. Ele ta de alto nivel.

 

assim q me sobra um tempim vo implementa a opção de clica no nick e chama um popup pra um PM.

 

tem uns chats prontos ja você pega um widget em javascript cola dentro da div no seu site e ta resolvido.

 

 

 

 

Ai será que isso necessita de tanto conhecimento, como nosso amigo ESSERA disse ?

 

 

Tudo bem que eu não faço isso sozinho ainda não sou um desenvolvedor, mas tudo mundo tem que começar de algum lugar, e sempre vamos evoluir com o tempo que se gasta procurando ajudando e recebendo ajuda.

 

 

Obrigado luiz eu também estou estudando bastante para poder colocar esse projeto de chat aqui e ajudar quem quer aprender como fazer, cara você é o Igor e tantos outros que ajudam aqui muito obrigado por tudo.

 

Bem eu nao sabia o que era Polling assim como eu se voce nao sabe o que é aqui esta um link para voce saber mais sobre isso. (OBS: Obrigado Luiz):

 

http://www.rodolfofadino.com.br/2011/09/usando-long-polling-com-asynccontrollers/

 

Atenção:

 

Meus amigos eu fico loco de tanto ler, e por isso baixei um programa gratuito que se chama (falador) vou colocar o link dele aqui para vocês que estão começando e não são muito fan de ficar lendo texto extremamente longos, mas vou avisando no inicio você pode achar muito difícil de intender o falador mas acredite, você vai se acostumar.

 

http://www.baixaki.com.br/download/falador.htm

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw.. se me corrigiu o certo e LONG POLLING =D

 

link vai se util pro pessoal..

 

falador kkkkkkk .. cada coisa q inventao

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sleepTime = 1; //Segundos
$data = "";
$timeout = 0;

//Pesquisa Bando de dados para todos
while(!$data and $timeout < 10){
   $data = getQuery($sql);
   if(!$data){


//Não a novas MSG no chat
       flush();


//Aquarde nova MSN
       sleep($sleepTime);          
       $timeout += 1;
   }else{
       break;
   }
}

 

uma pergunta sobre a variavel $DATA tem um getQuery, quero saber se isso e um comando valido ou se a descrição de que nos temos que fazer uma mysql_query

 

Até a proxima

 

OBS: Você que esta começando leia sobre Operadores Logico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma maneira para não sobrecarregar tanto, você pode jogar as conversas dentro de arquivos.html ao invés de inserir/fazer requisições no banco de dados a cada um segundo.

 

Abrs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma maneira para não sobrecarregar tanto, você pode jogar as conversas dentro de arquivos.html ao invés de inserir/fazer requisições no banco de dados a cada um segundo.

 

Abrs.

 

 

Pois é amigo eu tenho um chat que faz isso so que ele é coletivo e eu to querendo um privado sacas?

um chat que voce entra na pagina de um amigo e la voce vai ter um link chat quando voce clica nele vem um popup que vai ser o chat com o amigo, voce acha que eu registrar em um txt da pra usar pra isso?

O banco de dados de imagens eta funcionando eu guardo o endereço no BD e foto no diretorio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é amigo eu tenho um chat que faz isso so que ele é coletivo e eu to querendo um privado sacas?

um chat que voce entra na pagina de um amigo e la voce vai ter um link chat quando voce clica nele vem um popup que vai ser o chat com o amigo, voce acha que eu registrar em um txt da pra usar pra isso?

O banco de dados de imagens eta funcionando eu guardo o endereço no BD e foto no diretorio

 

Funciona sim eu fiz um exatamente igual ao chat do facebook, armazenando tudo em .html

 

Abrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funciona sim eu fiz um exatamente igual ao chat do facebook, armazenando tudo em .html

 

Abrs

Poxa vamos dar uma mão ai me mostra o caminho das pedras mano, fala o que eu tenho que fazer que eu faço, sou novato e preciso de umas dicas

 

Poxa vamos dar uma mão ai me mostra o caminho das pedras mano, fala o que eu tenho que fazer que eu faço, sou novato e preciso de umas dicas

 

 

<?php

$nick = $_POST['nick'];
$cor = $_POST['cor'];

 if($nick == "")
{
  echo "<script> location.href='index.htm'; </script>";
  exit;
}

$abre = fopen("chat.txt", "a");


   if($abre) 
    {
     fwrite($abre,"<b><font color={$cor}>{$nick}</font color={$cor}><i> entrou no chat.</i></b><br>");
    }

fclose($abre);


header("Location: batepapo.php",TRUE,307); 


?>

 

Pensa comigo, não e a session que segura cada id de cada usuario que se logo no sistema?

 

SIM

 

em tao da pra usar isso nesse Código e tentar direcionar para o campo MySQL certo não e mesmo

 

quer saber o que é fwrite ?

http://php.net/manual/pt_BR/function.fwrite.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente eu fiz uma maração do capeta eu sei disso rssss!!

 

mais a minha ideia foi privatizar um chat que eu já tinha, que usa um txt, em vez de SQL, gostaria que vocês ajudassem dando ideias por favor.

 

eu sei que tem muita coisa a fazer, e eu já resolvi o empty e, o mysql_real_escape_string.

 

se poder pedir uma coisa e: Como colocar esse chat em uma pequena popup para quando clicar no link chat?

 

um abraço a todos vocês e me da essa mãozinha ai

 

OBS (o input nao ta apagando depois que manda a msg)

 


<?php
//receber usuarios e cor do usuario
session_start()
.(int)$_SESSION['id'];
$_SESSION['email'];
$_SESSION['id'];

$nick = $_SESSION['email'];
$cor = $_SESSION['id'];




?>
<html>
<head>
 <title>Bate Papo - LOVE - ME</title>
</head>
<body bgcolor="#C92E01"><font face="Verdana" size="2" color="#FFFFFF">

 <style type="text/css">
#logo {
position:absolute;
left:808;
top:87px;
width:290px;
height:50px;
z-index:1;
}
</style>




 <div>
       <iframe name="chat" src="chat.php" width="50%" height="80%" frameborder="0">Atualize seu navegador.</iframe><br>
 </div>

<div>
    <iframe name="ultimo" src="ultima.php" frameborder="0" width=300 height=16 marginwidth=0 marginheight=0 hspace=0        vspace=0   frameborder=0 scrolling=no>Favor atualizar seu navegador.</iframe>
</div>






<!--FORM DE FALA-->
<hr color="white">
		<form action="gravar.php" method="post" target="chat">
		<font color="#ffffff"><b><?php echo $_SESSION['email']; ?></b></font color="<?php echo $cor ?>">
		<input name="nick" type="hidden" value="<?php echo $_SESSION['email']; ?>">

		<select name="acao">


<option value="fala" selected>fala</option>
<option value="grita">grita</option>
<option value="beija">beija</option>
<option value="canta">canta</option>
<option value="pergunta">pergunta</option>
<option value="concorda">concorda</option>
<option value="discorda">discorda</option>
<option value="desculpa-se">desculpa-se</option>
<option value="surpreende-se">surpreende-se</option>
<option value="sorri">sorri</option>
<option value="diverte-se">diverte-se</option>
<option value="briga">briga</option>
<option value="dá o fora">dá o fora</option>
 </select> : <input type="text" name="texto"> <input type="submit" value="Enviar">
		</form>




	<div id="logo">
	<img src='loveme.jpg'>
	</div>



<form action="sair.php" method="post">
<input name="nick" type="hidden" value="<?php echo $nick ?>">
<input name="cor" type="hidden" value="<?php echo $cor ?>">
<input type="submit" value="Sair">
</form>
</font>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK eu vi que é possivel colocar o chat dentro de um popup DIV só que o reflash de 5 segundos esta atrapalhando o funcionamento quem souber resolver fico grato.

 

a div que estou usando é essa:

 


<html>
<head>
<title>Criar uma DIV igual a uma janela Popup</title>
<style>
#pop{display:none;position:absolute;top:50%;left:50%;margin-left:-150px;margin-top:-100px;padding:10px;width:300px;height:200px;border:1px solid #d0d0d0}
</style>
</head>
<body>
<div id="pop">
<a href="#" onclick="document.getElementById('pop').style.display='none';">[Fechar]</a>
<br />
<font color='red'>	
Agora coloque o estilo dessa div.

</div>

<a href="#" onclick="document.getElementById('pop').style.display='block';">Mostra</a>
</body>

 

 

Ai eu to colocando o codigo da pagina batepapo.php dentro do campo da div onde esta escrito:

Agora coloque o estilo dessa div.

 

quem sabe como retirar esse erro.

 

o reflas esta abrindo a pagina batepapo.php sozinho depois de 5 segundos

 

Será que vou ter que retirar o reflas de todas as paginas e repassar isso para

Long Pollin ?

 

Ajuda ai gente da uma ideia no final eu coloco ele aqui pra todo mundo

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou colocar todo o chat ate agora, ele esta dentro de uma DIV fazendo papel de PopUP mas ainda a muuita coisa ate que ele esteje funcionando perfeitamente.

 

Não estou feliz com o seu estado ate agora, to pensando no caso de ter que ter muitas pessoas isso nao esta me cherando bem.

 

andei pensando em fazer no BD em vez de TXT acredito que vai ser mais facil de trabalhar tanto com o caso armazenar por poucos dias e o fato long poling, pessoal to pedindo ideias pra voces me ajudem obrigado ai esta todas as paginas.

 

 

teste.php

<html>
<head>
<title>Criar uma DIV igual a uma janela Popup</title>
<style>
#pop
{
display:none;
position:absolute;
top:10%;
left:14%;
margin-left:0px;
margin-top:0px;
padding:0px;
width:60%;
height:69%;
border:2px
solid #d0d0d0
}
</style>
</head>
<body>

<div id="pop">

<?php
session_start()
.(int)$_SESSION['id'];
$_SESSION['email'];
$_SESSION['id'];
$nick = $_SESSION['email'];
?>

<a href="#" onclick="document.getElementById('pop').style.display='none';">[Fechar]</a>
<br />



<body bgcolor="#C92E01"><font face="Verdana" size="2" color="#FFFFFF">

 <style type="text/css">
#input {
position:absolute;
left:3px;
top:399px;
width:460px;
height:0px;
z-index:1;
}

#sair {
position:absolute;
left:775px;
top:408px;
width:0px;
height:0px;
z-index:1;
}
</style>



<div><iframe name="chat" src="chat.php" width="100%" height="80%" frameborder="0">Atualize seu navegador.</iframe><br></div><div><iframe name="ultimo" src="ultima.php" frameborder="0" width=300 height=16 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no>Favor atualizar seu navegador.</iframe></div>
<!--FORM DE FALA-->

<hr color="white">


<div id="input">
		<form action="gravar.php" method="post" target="chat">
			<font color="#ffffff"><b><?php echo $_SESSION['email']; ?>
				<input type='text' name='texto' size='60'>	<input type="submit" value="Enviar">
			</font>
		</form>
</div>			

<div id='sair'>		
<form action="sair.php" method="post">
	<input name="nick" type="hidden" value="<?php echo $_SESSION['email']; ?>">
	<input type="submit" value="Sair">
</form>
       </font>
</div>




</div>
   <a href="#" onclick="document.getElementById('pop').style.display='block';">Mostra</a>
</body>

 

 

batepapo.php

<html>
<head>
<title>Criar uma DIV igual a uma janela Popup</title>
<style>
#pop
{
display:none;
position:absolute;
top:10%;
left:14%;
margin-left:0px;
margin-top:0px;
padding:0px;
width:60%;
height:69%;
border:2px
solid #d0d0d0
}
</style>
</head>
<body>

<div id="pop">

<?php
//receber usuarios e cor do usuario
session_start()
.(int)$_SESSION['id'];
$_SESSION['email'];
$_SESSION['id'];

$nick = $_SESSION['email'];
?>

<a href="#" onclick="document.getElementById('pop').style.display='none';">[Fechar]</a>
<br />



<body bgcolor="#C92E01"><font face="Verdana" size="2" color="#FFFFFF">

 <style type="text/css">
#input {
position:absolute;
left:3px;
top:399px;
width:460px;
height:0px;
z-index:1;
}

#sair {
position:absolute;
left:775px;
top:408px;
width:0px;
height:0px;
z-index:1;
}
</style>



<div><iframe name="chat" src="chat.php" width="100%" height="80%" frameborder="0">Atualize seu navegador.</iframe><br></div><div><iframe name="ultimo" src="ultima.php" frameborder="0" width=300 height=16 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no>Favor atualizar seu navegador.</iframe></div>
<!--FORM DE FALA-->
<hr color="white">

<div id="input">
		<form action="gravar.php" method="post" target="chat">
			<font color="#ffffff"><b><?php echo $_SESSION['email']; ?>
				<input type='text' name='texto' size='60'>	<input type="submit" value="Enviar">
			</font>
		</form>
</div>			







<div id='sair'>		
<form action="sair.php" method="post">
	<input name="nick" type="hidden" value="<?php echo $_SESSION['email']; ?>">

	<input type="submit" value="Sair">
</form>
</font>
</div>




</div>

<a href="#" onclick="document.getElementById('pop').style.display='block';">Mostra</a>
</body>

 

chat.php

<html>
<head>
<title>Bate Papo - LOVE - ME</title>
<META HTTP-EQUIV="Refresh" CONTENT="4;URL=chat.php">
<script language="javascript">

function ultima() 
{
location.href = "#ultima";
}
</script>

</head>
<body bgcolor="#ffffff" onLoad="javascript:ultima()">
<font face="Verdana" size="2">
<?php include("chat.txt"); ?>
<a name="ultima"> </a>
</font>
</body>
</html>

 

gravar.php

<?php

session_start()
.(int)$_SESSION['id'];


$nick = $_SESSION['email'];
$hora = date("h:i:s");



if($_SESSION['email'] == ""){
echo "<script> location.href='defalt.php'; </script>";
exit;
}
$texto = $_POST['texto']; 

$abre = fopen("chat.txt", "a");

if($abre) {

fwrite($abre,"<b><font color=verde>{$nick}</font color={$cor}> <i>{$acao}, às {$hora}</i>:</b> {$texto} <br>");

}

fclose($abre);

// marca hora da ultima mensagem

$ultima = fopen("ultima.txt", "w");

fwrite($ultima, $hora);

fclose($ultima);

?>

<meta http-equiv="refresh" content="0; url=chat.php">

 

sair.php

<?php
$nick = $_SESSION['email']; 
$cor = $_SESSION['id']; 
$abre = fopen("chat.txt", "a");
if($abre) {
fwrite($abre,"<b><font color={$cor}>{$nick}</font color={$cor}><i> saiu do chat.</i></b><br>");
}
fclose($abre);
?>
<meta http-equiv="refresh" content="0; url=../defalt.php">

 

 

aksdalksdalskdjlajsd.php

<?php
$file = "chat.txt";
$bd = fopen($file, "w");
fwrite($bd, "");
fclose($bd);
$ufile = "ultima.txt";
$ubd = fopen($ufile, "w");
$unew = "-";
fwrite($ubd, $unew);
fclose($ubd);
?>

<html>
<head>
<title>LOVE - ME: Área de administração</title>
<script language="javascript">
function reinicia(){
alert("O bate-papo foi reinicializado com sucesso. \nSugestão: iniciar falando o porquê de sua ação.");
window.close();
}
</script>
</head>
<body onLoad="javascript:reinicia()">
<center><hr size="1">
<font face="Verdana" size="1">Feche esta janela. </font>
</center>
</body>
</html>

 

ultima.php

<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="6; URL=ultima.php">
</head>
<body bgcolor="#C92E01"><font face="Verdana" size="2" color="white">
	<b>Ùltima mensagem enviada às <?php include("ultima.txt"); ?>.</b></font>
</body>
</html>

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.