Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Estou com o seguinte problema, montei um sistema de envio de mensagens entre usuários e na página inicial a pessoa pode enviar uma mensagem para o usuário e logo abaixo aparecem as mensagens que ela recebeu de outros usuários. Estou tentando inserir um checkbox para ela marcar as mensagens como lidas e essas não aparecerem mais lá. O problema é que ele está enviando mensagens normalmente, porém não consegue atualizar o bd quando o checkbox é marcado.
Segue abaixo o código, se alguem puder ajudar eu agradeço.
index.php
<? include('Connections/marechal.php'); ?>
<?
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";
}
}
}
?>
<?
if(isset($_POST['done2'])){
$status = $_POST['status'];
if(empty($status)){
$erro = "Opa, você deve escrever alguma coisa";
}else{
$sql = mysql_query("UPDATE mensagens set status='$status' WHERE id='$id'") or die(mysql_error());
$linha = mysql_affected_rows();
if($linha == 1){
$erro = "Dados alterados com sucesso!";
} else{
$erro = "Não foi possivel alterar os dados";
}
}
}
?>
para enviar mensagem:
<form name="form1" action="index.php" method="POST" >
<table width="450" border="0" align="center" cellspacing="1">
<tr>
<td align="center" bgcolor="#0C0C0C"><strong>Envio de Mensagem</strong></td>
</tr>
<tr>
<td class="mes">Para:
<select name="usuario" id="usuario">
<option>admin</option>
<option>teste</option>
<option>erik</option>
<option>reinaldo</option>
</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>
para ler e atualizar o bd:
<form name="form2" action="index.php" method="POST" >
<table width="455" border="0" align="center" cellspacing="1">
<tr>
<td colspan="2" align="center" bgcolor="#0C0C0C"><strong>Mensagens Recebidas</strong></td>
</tr>
<?
$sql = "select * from mensagens WHERE usuario = '$usuario2' AND status = 'N' ORDER by data DESC LIMIT 10";
$result = mysql_query ($sql, $marechal) 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"];
?>
<tr>
<td width="206" class="mes">Enviado por: <?php echo $linha['login']; ?></td>
<td width="247" class="mes"><?php echo data ($linha['data']); ?></td>
</tr>
<tr>
<td colspan="2" bgcolor="#FFFFFF" class="show"><?php echo $linha['mensagem']; ?>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#FFFFFF" class="show"> <input name="status" type="checkbox" id="status" value="S" />
<label for="checkbox"></label>
Marcar como Lida
<input type="submit" name="button" id="done2" value="Salvar" />
<input type="hidden" name="done2"/>
<input name="login" type="hidden" id="login" value="<? echo $fet_busca['login'];?>" /></td><? } ?>
</tr>
</table>
</form>
A unica coisa que não funciona é para atualizar. Sempre retorna a mensagem "não foi possível atualizar os dados"
Carregando comentários...