Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Então quero uma idéia basica de como criar um chat em PHP, eu sei de uma forma, só que a forma que eu sei ela complica um pouco, porque tem que mecher no registro,"fopen, fclose". E muitos servidores não permitem que o programador possa mecher no registro.
Obrigado.
Então a forma que eu queria aprender, é utilizando DB mesmo.
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.
>
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.
Kara muito obrigado pelo seu esclarecimento da logica muito hutil mesmo, só que me fala mais como é que se faz um chat só que esse é privado?
Tipo voce vai na pagina de um amigo e ve que ele ta online e chama ele por um chat....
espro que intenda o que estou tentando dizer chat privado.
bem eu ja tenho o chat que registra na TXT, mas este que eu tenho e tipo chat da uol pra todo mundo, e se nao to afim de ficar eu quero que cada usuario tenha seu chat...
Obrigado
"fopen, fclose" para registrar a conversa do chat em um txt ou xml.
De outra forma só com banco de dados mesmo.