Ir para conteúdo

POWERED BY:

Arquivado

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

xurissoooo

Ajax no PHP

Recommended Posts

Gente, eu tenho um Bate papo composto com o topo que eu chamo de TECLADO (teclado.php), e o meio que eu chamo de CORPO DO BATE PAPO (meio_batepapo.php).

 

Na pagina inicial é a estrutura que chama a pagina do teclado e do corpo do bate papo atravez de um INCLUDE.

 

Eu pensei em fazer um ajax que atualizasse o include do corpo do bate papo, sem que atualize o TECLADO.

 


 

// Aqui fica uma pagina estatica 

include("teclado.php");


// Aqui devera entrar o ajax atualizando a página

 include("meio_batepapo.php");

 

 

Por que nao pode a pessoa ficar escrevendo la em cima no teclado e do nada, atualiza a pagina do corpo do bate papo com as mensagens, e ele perde o que tava escrevendo no teclado.

 

É um bate papo que tem que ficar atualizando a pagina da conversa, mas nao onde a pessoa vai escrever.

 

Meu codigo é o seguinte abaixo, mas eu nao sei e nao faço ideia como usar (por em pratica) o ajax pra fazer isso. Alguem pode me ajudar ?

 

 

Eu andei lendo a respeito e sei que seria algo assim que eu preciso:


http://benignosales.wordpress.com/2010/11/27/utilizando-uiinclude-com-ajax/

 

 

 

 

 

Meu site: http://xurisso.amserver1.com/sessao/07/batepapo.php

 

Meu código:

<?php
session_start();
include("../../conexao_banco.php");
if(!isset($_SESSION['validacao'])){
header("Location: ../../login.php");
exit;
}else{
include("../../variaveis.php");
$backto='../01/usuario.php';
include("../inc/background.php");
?>
<!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=utf-8" />
<title>Untitled Document</title>
</head>
<!-- Aqui começa codigos CSS -->
<link href="../css/botao_voltar.css" rel="stylesheet" type="text/css" />
<link href="../css/fonte.css" rel="stylesheet" type="text/css" />
<script src="../../lightbox/js/jquery-1.10.2.min.js"></script>
<script src="../../lightbox/js/lightbox-2.6.min.js"></script>
<link href="../../lightbox/css/lightbox.css" rel="stylesheet" />
<link href='css/botoes_batepapo.css' rel='stylesheet' type='text/css' />
<!-- Aqui termina codigos CSS -->
<body><center>
  <?php
  include("teclado.php");
  include("camada.php");
  ?>
<td width="90%" valign="top" align="center"><div style="border-radius: 3px; width:95%; height:100%; text-align:left;">
<div>
<?php
include("meio_batepapo.php");
?>
</div></div></td></tr></table>
</center>
</body>
</html>
<?php
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

a parte do textarea fica intacto, nao precisa de nada em especial, apenas o evento submit com jQuery para disparar a ação, e o corpo aonde aparecem as mensagens, precisa ser atualizado de x em x tempo

seu jquery apos X segundos vai conectar ao db para saber se tem alguma mensagem nova e se houver, vc exibe a ultima mensagem - ou retorna tantas qto preferir, isso vai do sistema

 

nesse link tem umas informações de long polling que serão uteis

nao ha misterio

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que quando eu mando atualizar a pagina, acaba atualizando a outra junto , não póde.

 

Sou um pouco leigo fora do PHP com o Jquery e Ajax, o que entendi da tua resposta nao me disse nada talvez por eu não entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia me fazer um exemplo de um div sendo atualizado? :/ Eu sei ue eu deveria entender no seu link mas ta dificil sacar de primeira viagem

 

Eu pensei que seria mais facil fazer no include

 

Da uma olhadinha no meu codigo do bate papo que vai entender por que seria mais facil no include, pois no div me quebra a cabeça, a nao ser que tu me de um exemplo :\

 

 

 

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><hr /></td>
  </tr>
  <tr>
    <td><form id="form1" name="form1" method="post" action="../processa.php">
        <?php


// Define DATA
$_getdate=date('d/m/Y');
// Seleciona MESA
$mesa=$_SESSION['grupo'];


// WHILE PARA MOSTRAR LINHA DO BOTECO
$select = mysql_query("select * from boteco where mesa='$mesa' and data='$_getdate' ORDER BY horario DESC;     ");
while ($linha = mysql_fetch_assoc($select)) {
$select2 = mysql_query("select * from sessao_usuario where usuario='$linha[usuario]'");
while ($linha2 = mysql_fetch_assoc($select2)) {
$foto=$linha2['avatar'];
$abre_foto= '../' . $dir_avatarusuario . $foto;
?>
        <table width="100%" border="0" align="center" cellpadding="1" cellspacing="1">
        <tr>
          <td bgcolor="#CCCCCC"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr>
              <td bgcolor="#FFFFFF"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
                <tr class="apelido">
                  <td width="5%"><?php
// TD DA FOTO
echo '
<div <p class="foto">
<a href="'.$abre_foto.'" rel="lightbox">
<img src="'.$abre_foto.'" width="20" height="20" class="photo1" id="photo1" style="photo1" title="Abre foto" border="1" />
</div>
</a>
</td>';
?></td>
                  <td width="80%"><span style="width: 50%; font-family:'Courier New', Courier, monospace; font-size: 12px; text-align: left; padding: 0 8px;"><?php echo ucwords($linha[linha]); ?></span>
                    <input style="display: none;" name="varname" value="<?php echo $linha[usuario]; ?>" /></td>
                  <td width="10%"><input style="display: none;" name="pegaperfil" value="<?php echo $linha[usuario]; ?>" />
                    <input type="submit" class="botao1" name="perfil" value="<?php echo $linha[usuario]; ?>" /></td>
                  <td width="5%"><span style="width: 5%;">
                    <input name="mensagem" type="submit" class="botao1" value="<?php echo $linha[horario]; ?>" id="mensagem" />
                  </span></td>
                </tr>
              </table></td>
            </tr>
          </table></td>
        </tr>
      </table><?php
}
}
?>
    </form></td>
  </tr>
  <tr>
    <td><hr/></td>
  </tr>
  <tr>
    <td><div>
      <p><a href="../01/usuario.php" class="rc-button-submit">
        <input  class="rc-button" id="voltar" name="voltar" value="Voltar página" />
      </a></p>
      <p> </p>
    </div></td>
  </tr>
</table>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites



$.ajax({
url : '...',
data : '...',
type : 'POST',
success : $.proxy(function( request )
{
$('#div_corpo').append( request );
}, this)
});

sempre que a requisição for 'success', a sua div vai exibindo o conteudo de 'request'

agora veja o link que passei senao nao vai conseguir... nao ha misterio, procure por long polling

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazer funcionar seu div com ajax, depois quando eu tiver um tempinho vou por em pratica no meu codigo, agora to tentando resolver outro problema que postei aqui no forum :/ Depois deixo meu resultado deste aqui

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.