Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala pessoal, estou com um problema que já rodei tudo aqui e não encontrei uma solução prática para resolve-lo. Possuo um sistema de envio de mensagens entre usuários e gostaria que fosse possível enviar mensagens para vários usuários ao mesmo tempo, porém quando utilizo a função "allow multiple" ou ele pega somente o ultimo usuario da lista ou cria uma array que eu não sei como exibi-la somente para os usuarios selecionados. Segue abaixo o meu código (sem as modificações que encontrei e não deram certo).
para gravar os dados
<? if(isset($_POST['done'])){
$login = $_POST['login'];
$mensagem = $_POST['mensagem'];
$usuario = $_POST['usuario'];
$status = $_POST['status'];
if(empty($login) || empty($mensagem) || empty($usuario)){
$erro = "Opa, você deve escrever alguma coisa";
}else{
$sql = mysql_query("INSERT INTO `mensagens`(`login`, `mensagem`, `usuario`, `status`) VALUES ('$login', '$mensagem', '$usuario', '$status')") or die(mysql_error());
if($sql){
$erro = "Mensagem enviada com sucesso!";
} else{
$erro = "Não foi possivel enviar a mensagem";
}
}
}
?>
Para enviar mensagem
<td align="center" bgcolor="#0C0C0C"><strong>Envio de Mensagem</strong></td>
</tr>
<tr>
<td class="mes">Para:
<select name="usuario[]" size="1" multiple="multiple" id="usuario">
<?php
$sql = "select * from user WHERE login = login AND activo = 'S' ORDER by login ASC";
$result = mysql_query ($sql, $marechal) or die(mysql_error());
$total = mysql_num_rows ($result);
while ($linha = mysql_fetch_array ($result)) {
$nome = $linha['login'];
?>
<option value="<?php echo $linha['login']; ?>"><?php echo $linha['login']; ?></option>
<?php } ?>
</select></td>
</tr>
<tr>
<td><label for="mensagem"></label>
<textarea name="mensagem" cols="53" rows="6" class="campo" id="mensagem"></textarea></td>
</tr>
<tr>
<td><input type="submit" value="Enviar" />
<input name="status" type="hidden" id="status" value="N" />
<input type="hidden" name="done"/>
<input name="login" type="hidden" id="login" value="<? echo $fet_busca['login']; ?>" />
<?php
if(isset($erro)){
print '<div style="width:50%; background:#191919; color:#fff; padding: 5px 0px 5px 0px; text-align:center; margin: 0 auto;">'.$erro.'</div>';
}
?></td>
</tr>
</table> </form>
Para exibir as mensagens recebidas
<td colspan="2" align="center" bgcolor="#0C0C0C"><strong>Mensagens Recebidas</strong></td>
</tr>
<?php
$sql = "select * from mensagens WHERE usuario = '$usuario2' AND status = 'N' ORDER by data DESC LIMIT 10";
$result = mysql_query ($sql) or die(mysql_error());
while ($linha = mysql_fetch_array ($result)) {
$id = $linha["id"];
$mensagem = $linha["mensagem"];
$data = $linha["data"];
$login = $linha["login"];
$usuario = $linha["usuario"];
?>
<?
$mensagem = preg_replace("/(\\r)?\\n/i", "<br/>", $mensagem);
$headers = "MIME-Version: 1.0\r\n";
?>
<form name="form2" action="index.php" method="POST" >
<tr>
<td width="206" class="mes">Enviado por: <?php echo $linha['login']; ?></td>
<td width="247" class="mes"><?php echo data2 ($linha['data']); ?></td>
</tr>
<tr>
<td colspan="2" bgcolor="#FFFFFF" class="show"><?php echo $mensagem; ?>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#FFFFFF" class="show"> <input name="status" type="checkbox" id="status" value="S" onclick="this.form.submit()"/>
<label for="checkbox"></label> Marcar como Lida
<input type="hidden" name="done2"/>
<input name="login" type="hidden" id="login" value="<?php echo $fet_busca['login'];?>" />
<input name="id" type="hidden" id="id" value="<?php echo $linha['id'];?>" /></td></form><?php } ?>
</tr>
</table>Carregando comentários...