Ir para conteúdo

POWERED BY:

Arquivado

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

XIM

Mensagens Entre Usuarios do Site

Recommended Posts

bom tarde amigos,venho mais uma vez pedir a ajuda de vcs,andei pesquisando e ñ encontrei nada e nem tenho noção como fazer isso,fico muito agradecido a todos que tem me ajudado e me ajudam.

 

Partindo do usuario dono da pagina para um determinado usuario que ele clikou e quer enviar uma mensagem padrão tipo envia-me uma mensagem.

 

Fico no aguarde forte abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria tipo um fale conosco?

a mensagem seria via e-mail?

como seria?

Preciso de mais informações para assim pode auxilia-lo nessa sua dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria ponto a ponto de usuario para usuario e no site teria assim,uma parte de mensagens recebidas e mensagens enviadas,sem usar email.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lógica básica, o que precisa para trocar mensagens entre dois usuáriios? Saber quem é o remetente e quem é o destinatário... duas colunas na tabela já resolvem isto. O que você quer não é muito diferente de um sistema de helpdesk.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho estes scripts ,mas ñ sei como fazer para colocar um form,se puderem me ajudar ficarei muito agradecido.

 

este script pega a pessoa que envia e a pessoa que vai receber,aparece certinho.

 

envia.php

<?php// A sessão precisa ser iniciada em cada página diferenteif (!isset($_SESSION)) session_start();$nivel_necessario = 1;// Verifica se não há a variável da sessão que identifica o usuárioif (!isset($_SESSION['loginID']) OR ($_SESSION['loginNivel'] < $nivel_necessario)) {// Destrói a sessão por segurançasession_destroy();// Redireciona o visitante de volta pro loginheader("Location: index.php"); exit;}?>

<b>Mensagem de <?php echo $_SESSION['loginNome']; ?>!  

<?php require_once('../Config/config_sistema.php'); ?><?phpmysql_select_db($banco_de_dados);$query_Recordset1 = "SELECT * FROM dados_usuarios WHERE ID = " . $_SESSION['loginID'];$Recordset1 = mysql_query($query_Recordset1) or die(mysql_error());$row_Recordset1 = mysql_fetch_assoc($Recordset1);$totalRows_Recordset1 = mysql_num_rows($Recordset1);?><?php do { ?><?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?> [b]Para[/b] <?php require_once('../Config/config_sistema.php'); ?><?php$currentPage = $_SERVER["PHP_SELF"];$maxRows_Recordset1 = 1;$pageNum_Recordset1 = 0;if (isset($_GET['pageNum_Recordset1'])) {$pageNum_Recordset1 = $_GET['pageNum_Recordset1'];}$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;$colname_Recordset1 = "1";if (isset($_GET['ID'])) {$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['ID'] : addslashes($_GET['ID']);}mysql_select_db("ama");$query_Recordset1 = sprintf("SELECT * FROM dados_usuarios WHERE ID = %s", $colname_Recordset1);$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);$Recordset1 = mysql_query($query_limit_Recordset1) or die(mysql_error());$row_Recordset1 = mysql_fetch_assoc($Recordset1);if (isset($_GET['totalRows_Recordset1'])) {  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];} else {$all_Recordset1 = mysql_query($query_Recordset1);$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);}$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;$queryString_Recordset1 = "";if (!empty($_SERVER['QUERY_STRING'])) {$params = explode("&", $_SERVER['QUERY_STRING']);$newParams = array();foreach ($params as $param) {if (stristr($param, "pageNum_Recordset1") == false &&stristr($param, "totalRows_Recordset1") == false) {array_push($newParams, $param);    }  }  if (count($newParams) != 0) {    $queryString_Recordset1 = "&" . implode("&", $newParams);  }}$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);?><?phpecho $row_Recordset1['login']."<br>";echo "</td>";?> 

O form que ñ consigo encaixar pra ir direto para quem vai receber,que esta em outra pagina,mensagens_padrao.php

 

mensagens_padrao.php

<form action="enviar.php" method="post" enctype="multipart/form-data" name="formcadastro"><table width="500" border="0" cellpadding="0" cellspacing="0"><tr><center><TABLE BORDER=0><TR><TH></TH></TR><TR><td valign="middle" bgcolor="#CCCCCC"><font face="Verdana, Arial, Helvetica, sans-serif"COLOR="#8B008B" size="1"><b>Dica: seja  [AMANTE ESPECIAL] e utilize o chat.</TD></TR></TABLE> </center><tr><td height="24" align="right" valign="middle" bgcolor="#000000" class="style3">Selecione uma Mensagem Padrão Grátis.</td> <td valign="middle" bgcolor="#CCCCCC"><select name="mens_grat"><option value="....">....<option value="Oi,podemos teclar ?">Oi,podemos teclar ?<option value="Quero te conhecer melhor,pode ser ?">Quero te conhecer melhor,pode ser ?<option value="Oieee">Oieee<option value="Skype">Skype<option value="Vamos pro Chat ?">Vamos pro Chat ?<option value="O que exatamente você procura aqui ?">O que exatamente você procura aqui ? </select><span class="style9"></span> </tr><TR><td colspan="2" valign="top"><label for="Submit"></label><input type="submit" name="cadastrar" value="Enviar" id="cadastrar" /></td></TR></TABLE> </center></form> 

enviar.php

<?php// inclui o arquivo de configuração do sistemainclude "../Config/config_sistema.php";// recebe dados do formulario$mens_grat = $_POST['mens_grat'];// verifica se o usuario digitou o nomeif($mens_grat == "") {echo "Selecione a Mensagem!";exit;}// faz consulta no banco para inserir os dados do usuario$sql = "insert into dados_usuarios (mens_grat)  values ('','$mens_grat')";$consulta = mysql_query($sql);// verifica se o usuario foi cadastradoif($consulta) {echo "<font color=green><b>A sua Mensagem foi enviada com sucesso!<br></font></b>";exit;} else {echo "Não foi possivel enviar a sua Mensagem<br>tente mais tarde pode ser um problema no servido!<br>";exit;}?>

 

fico no aguarde ,um forte abraço a todos

 

algum amigo pra me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é um sistema de chat.

 

para fazer direito, pesquise por NodeJS e socket

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ é bem um chat,tipo o usuario escolhe um usuario e lhe envia uma mensagem,nos scripts de cima,que postei aparece direitinho quem vai enviar e quem vai receber,mas ñ sei como incluir o forme que esta em separado e direcionar para quem vai receber a mesma,fico no aguarde de me ajudar,um forte abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

#8 o que postou acima é um tipo de chat bem básico..

 

primeiramente defina o que vc realmente quer...

 

é um helpdesk ? é um chat ?..

 

 

 

#5

O form que ñ consigo encaixar pra ir direto para quem vai receber,que esta em outra pagina,mensagens_padrao.php

Nessa frase, eu entendi que seria um mensageiro instantâneo..

 

minha opinião, segundo o que interpretei, é o mesmo do post #7

 

nodejs, longpooling.. e por aí vai..

 

Contrate um programador experiente para lhe auxiliar.

 

Forte abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o que você quer são PM's (Private Message) que nem as de fóruns, usados como uma espécie de e-mail virtual entre os usuário certo? use um pouco de lógica, reflita e você descobre como ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!!!amigos,baseando-se pelas dicas de meus amigos,consegui fazer,mas agora ñ estou sabendo como pegar as mensagens direcionadas para aquele login,que foi enviado as mensagens em "MENSAGENS RECEBIDAS",me aparece todas as mensagens que nem endereçado a ele foi,se puderem me ajudar ficarei muito agradecido.

PARA ENVIAR FIZ ASSIM:

<?php
// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();
$nivel_necessario = 1;
// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['loginID']) OR ($_SESSION['loginNivel'] < $nivel_necessario)) {
// Destrói a sessão por segurança
session_destroy();
// Redireciona o visitante de volta pro login
header("Location: index.php"); exit;
}
?>
<?php echo $_SESSION['loginNome']; ?>!  
<?php require_once('../Config/config_sistema.php'); ?>
<?php
mysql_select_db($banco_de_dados);
$query_Recordset1 = "SELECT * FROM dados_usuarios WHERE ID = " . $_SESSION['loginID'];
$Recordset1 = mysql_query($query_Recordset1) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<?php do { ?>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
<?php require_once('../Config/config_sistema.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Recordset1 = 1;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
$pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
$colname_Recordset1 = "1";
if (isset($_GET['ID'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['ID'] : addslashes($_GET['ID']);
}
mysql_select_db("ama");
$query_Recordset1 = sprintf("SELECT * FROM dados_usuarios WHERE ID = %s", $colname_Recordset1);
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if (isset($_GET['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Recordset1") == false &&
stristr($param, "totalRows_Recordset1") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Recordset1 = "&" . implode("&", $newParams);
}
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?>
<form name="form1" method="post" action="cad_mens2.php">
<table width="75%" border="1" cellspacing="2" cellpadding="2">
<tr>
<td></td>
<td>
<?php
do {
?>
<option value="<?php echo $row_Recordset1['ID']?>"><?php echo $row_Recordset1['login']?></option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
?>
</td>
</tr>
<tr>
<td width="53%"><div align="right">DE:</div></td>
<td width="47%">
<input id="de" name="de" size="31" type="text" value="<?php echo $_SESSION['loginNome']; ?>" /><br /></td>
</tr>
<tr>
<td width="53%"><div align="right">PARA:</div></td>
<td width="47%">
<input id="para" name="para" size="31" type="text" value="<?php echo $row_Recordset1['login']?>" /><br /></td>
</tr>
<tr>
<td width="53%"><div align="right">Assunto:</div></td>
<td width="47%"> <input name="Assunto" type="text" id="Assunto"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Enviar">
</div></td>
</tr>
</table>
</form>
<?php
mysql_free_result($Recordset1);
?>
EM "MENSAGENS RECEBIDAS"coloquei assim,onde estou errando
<center><table cellspacing=0 cellpadding=0 width="90%"align="center" border=1 bgcolor="#EFEFEF" >
<TR><TH></TH></TR>
<tr>
<td colspan="3" valign="middle" class="style2"><center>Totais de Mensagens Recebidas |<font color="#FF0000">  <b>
<?php
include "Config/config_sistema.php";
$consulta = mysql_query("select * from de_para WHERE id_de_para");
$num_usuarios = mysql_num_rows($consulta);
$total_usuarios = $num_usuarios - 0;
echo $total_usuarios;
?></span>
</td>
</tr>
<tr>
<td colspan="6" valign="top"><table width="90%" border="2" bordercolor="#FFFFFF" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td align="center" valign="middle" bgcolor="#000000" class="style3">DE:</td>
<td align="center" valign="middle" bgcolor="#000000" class="style3">Assunto</td>
<td align="center" valign="middle" bgcolor="#000000" class="style3">descreva</td>
<td align="center" valign="middle" bgcolor="#000000" class="style3">Excluir:</td>
</tr>
<?php
while($linhas = mysql_fetch_object($consulta)) {
?>
<tr>
<td align="center" valign="middle" bgcolor="#CCCCCC"><?php echo $linhas->de;?> </td>
<td align="center" valign="middle" bgcolor="#CCCCCC"><?php echo $linhas->Assunto;?> </td>
<td align="center" valign="middle" bgcolor="#CCCCCC" class="style2"><a href="Visualizar.php?id_mens=<?php echo $linhas->id_mens;?>" class="style2">Visualizar</a></td>
<td align="center" valign="middle" bgcolor="#CCCCCC" class="style2"><a href="deletar_id_mens.php?id_fale_com_sindico=<?php echo $linhas->id_mens;?>" class="style2">X</a></td>
</tr>
<?php
}
?>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ entendi

 

 

tipo,esta pegando todas as mensagens enviadas e ñ direcionada para o dono da pagina,ñ pega mensagens para ele mas sim todas as mensagens

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma força ai amigos,uma diretriz que possas seguir e ver,tipo,esta pegando todas as mensagens enviadas e ñ direcionada para o dono da pagina,ñ pega mensagens para ele ID do usuario mas sim todas as mensagens gerais.

 

envia para ID tal

 

e este tal deste ID receba a mensagem só no ID dele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria uma tebela no teu banco de dados chamada MENSAGENS com as seguintes colunas:

id_remetente, id_destinatario, mensagem

 

Quando o usuário fizer o login no seu site, você precisa armazenar o ID dele em uma session, quando ele for no perfil do outro cara e clicar no botão "ENVIAR MENSAGEM" vc vai fazer um INSERT no seu banco:

"INSERT INTO mensagens (id_remetente, id_destinatario, mensagem) VALUES ($_SESSION['id_usuario'], $id_do_usuario_que_vai_receber_a_mensagem, $_POST['TEXTAREA_DA_MENSAGEM'])"

 

Vc pode trabalhar com o nome do usuário em vez do ID, mas é mais fácil trabalhar com o ID, é mais seguro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, AndrePls ,eu tenho isso com a tabela "de_para" no BD,lá tenho :

 

id_de_para

de

para

Assunto

 

<?php $de = $_POST['de']; ?>
<?php $para = $_POST['para']; ?>
<?php $Assunto = $_POST['Assunto']; ?>
<?php
$inserir = mysql_query("INSERT INTO de_para (de, para, Assunto) VALUES('$de', '$para', '$Assunto')");
$selecao = mysql_query("SELECT * FROM de_para WHERE para = '$para'");
$row = mysql_fetch_array($selecao);
echo "Mensagem Enviada!!";
echo "<br>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que ter o id_remetente e id_destinatario

 

select * from tabela where id_remetente = $id or id_destinatario = $id

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz assim,mas só cadastra a mensagem só pro da $_SESSION e só uma mensagem ñ envia para o destinatario.onde estou errando,sei que estou sendo repetitivo,mas ñ consigo fechar este codigos,um forte abraço a todos.

 

CREATE TABLE `MENSAGENS` (

`id_remetente` varchar(100) NOT NULL,
`id_destinatario` varchar(100) NOT NULL,
`mensagens` varchar(100) NOT NULL,
PRIMARY KEY (`id_remetente`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
tenho de cadastrar a mensagem assim: aparece certinho o nome de quem envia e de quem vai receber
<form name="form1" method="post" action="cad_mensagem.php">
<table width="75%" border="1" cellspacing="2" cellpadding="2">
<tr><td></td><td></td></tr><tr>
<td width="53%"><div align="right">DE:</div></td>
<td width="47%">
<input id="id_remetente" name="id_remetente" size="31" type="text" value="<?php echo $_SESSION['loginNome']; ?>" /><br /></td>
</tr><tr>
<td width="53%"><div align="right">PARA:</div></td>
<td width="47%">
<input id="id_destinatario" name="id_destinatario" size="31" type="text" value="<?php echo $row_Recordset1['login']?>" /><br /></td>
</tr><tr>
<td width="53%"><div align="right">mensagens:</div></td>
<td width="47%"> <input name="mensagens" type="text" id="mensagens"></td>
</tr><tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Enviar">
</div></td></tr>
</table>
</form>
o form: "cad_mensagem.php"
<?php $id_remetente = $_POST['id_remetente']; ?>
<?php $id_destinatario = $_POST['id_destinatario']; ?>
<?php $mensagens = $_POST['mensagens']; ?>
<?php
$inserir = mysql_query("INSERT INTO mensagens (id_remetente, id_destinatario, mensagens) VALUES('$id_remetente', '$id_destinatario', '$mensagens')");
$selecao = mysql_query("SELECT * FROM mensagens WHERE id_destinatario = '$id_destinatario'");
$row = mysql_fetch_array($selecao);
echo "Mensagem Enviada!!";
echo "<br>";
mysql_close($conexao)
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma tabela no banco com id_usuario_que_enviou_msg, id_usuario_que_recebeu e msg.

Partindo do princípio de que o usuário que enviará a mensagem está logado por meio se sessão,

grave o id do usuario da sessão no campo "d_usuario_que_enviou_msg", dá um get e pega o

id de quem receberá a msg e grava no campo "id_usuario_que_recebeu" e por fim, pega o texto da

msg e grava no campo "msg", depois pra selecionar as msgs de cada usuário faz um select usando join.

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.