Ir para conteúdo
Fórum Script Brasil
  • 0

chat estilo facbok


arldin

Pergunta

Bom dia amigos estou fazendo um chat estilo facebook. Nele mostra o nome do usuario e tambem mostra quando estão offline e online, ate aqui esta tudo certo e envia as mensagem abrindo uma janela ate aqui esta tudo certo. O que eu não estou conseguindo e que pege a foto do usuario.

A foto e amarzena em um baco de dado e salva em uma pasta.

Na tabela do usuario e esta

se_users

id

user_email

user_fname

user_password

profImage (aqui e amarzenado a imagem)

quando grava a imagem fica desta maneira "uploadedimage/imagem"

pois e o nome da pasta

este e parte do script onde eu quero pegar a imagem

<div style="width:85%;float: left;height:75px;top:0px;"> 
<div id="contatos">
<span class="online" id="<?php echo $_SESSION['SESS_ID'];?>"></span>     
	<ul>
	<?php
		$selecionar_usuarios = BD::conn()->prepare("SELECT * FROM `se_users` WHERE id != ?");
		$selecionar_usuarios->execute(array($_SESSION['SESS_ID']));
		if($selecionar_usuarios->rowCount() == 0){
			echo '<p>Desculpla, não há contatos ainda!</p>';
		}else{
		while($se_users = $selecionar_usuarios->fetchObject()){
	?>
		<li><span class="type" id="<?php echo $se_users->user_id;?>"></span>
		<a href="javascript:void(0);" nome="<?php echo $se_users->user_fname;?>" id="<?php echo $se_users->id;?>" class="comecar">
<?php echo "FOTO" ?>&nbsp;&nbsp;
<?php echo $se_users->user_fname;?></a></li>
	<?php }}?>
	</ul>
</div>
</div>
<div style="position:absolute; top:0; right:0;" id="retorno"><div>
<div id="janelas"></div>
</div>

A onde esta escrito FOTO e a onde eu quero que ela apareça

Aproveitando quero pedi tambem o seguinte quando eu mando mensagem ela e para mudar de status quando for lida

Desta maneira quando o usuario entar a janela abre ta tudo certo so que ela não esta mudando o statu este e o codico de envio de mensage


<?php
	session_start();
	include_once "../config1.php";
	require_once('../classes/BD.class.php');
	BD::conn();
	
	$acao = $_POST['acao'];
	
	switch($acao){
		case 'inserir':
			$para = $_POST['para'];
			$mensagem = strip_tags($_POST['mensagem']);
			
			$pegar_nome = BD::conn()->prepare("SELECT user_fname FROM `se_users` WHERE id = ?");
			$pegar_nome->execute(array($_SESSION['SESS_ID']));
			$ft = $pegar_nome->fetchObject();
			
			$inserir = BD::conn()->prepare("INSERT INTO `mensagens` (id_de, id_para, data, mensagem) VALUES(?,?,NOW(),?)");
			if($inserir->execute(array($_SESSION['SESS_ID'], $para, $mensagem))){
				echo '<li><span>'.$ft->nome.' disse:</span><p>'.$mensagem.'</p></li>';
			}
			
		break;
		
		case 'verificar':
			$ids = (isset($_POST['ids'])) ? $_POST['ids'] : '';
			$users = (isset($_POST['users'])) ? $_POST['users'] : '';
			$retorno = array();

			if($users != ''){
				foreach($users as $indice => $id_u){
					$sel = BD::conn()->prepare("SELECT horario, limite FROM `se_users` WHERE id = ?");
					$sel->execute(array($id_u));
					$fet = $sel->fetchObject();

					$atual = date('Y-m-d H:i:s');
					$mais1 = date('Y-m-d H:i:s', strtotime('+1 min'));

					if($id_u == $_SESSION['SESS_ID']){
						$up = BD::conn()->prepare("UPDATE `se_users` SET limite = ? WHERE id = ?");
						$up->execute(array($mais1, $id_u));
					}

					if($atual >= $fet->limite)
						$retorno['useronoff'][$id_u] = 'off';
					else
						$retorno['useronoff'][$id_u] = 'on';

				}
			}
			
			if($ids == ''){
				if(isset($retorno['mensagens']))
					$retorno['mensagens'] == '';
			}else{
				foreach($ids as $indice => $id){
					$selecionar = BD::conn()->prepare("SELECT * FROM `mensagens` WHERE id_de = ? AND id_para = ? OR id_de = ? AND id_para = ?");
					$selecionar->execute(array($_SESSION['SESS_ID'], $id, $id, $_SESSION['SESS_ID']));
					
					$mensagem = '';
					while($ft = $selecionar->fetchObject()){
						$user_fname = BD::conn()->prepare("SELECT user_fname FROM `se_users` WHERE id = ?");
                                                
						$user_fname->execute(array($ft->id_de));
						$user_fname = $user_fname->fetchObject();
						
						$mensagem .= '<li><span>'.$user_fname->user_fname.' disse:</span><p>'.$ft->mensagem.'</p></li>';
					}
					$retorno['mensagens'][$id] = $mensagem;
				}
			}
		
			$verificar = BD::conn()->prepare("SELECT id_de FROM `mensagens` WHERE id_para = ? AND lido = ? GROUP BY id_de");
			$verificar->execute(array($_SESSION['SESS_ID'], 0));
			
			if($verificar->rowCount() == 0){
				if(isset($retorno['nao_lidos']))
					$retorno['nao_lidos'] == '';
			}else{
				while($user = $verificar->fetchObject()){
					$retorno['nao_lidos'][] = $user->id_de;
				}
			}
			$retorno = json_encode($retorno);
			echo $retorno;
		break;
		
		case 'mudar_status':
			$user = $_POST['user'];
			$mudar_st = BD::conn()->prepare("UPDATE `mensagens` SET lido = '1' WHERE id_de = ? AND id_para = ?");
			$mudar_st->execute(array($user, $_SESSION['SESS_ID']));
		break;
	}
?>

Deste já agradeço a todos

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...