bootstrap модальный — Php личное сообщение Ответ работает только в последнем ряду?

Мне интересно, почему код работает только в последней строке ответа на сообщение, я не могу ответить на последнее сообщение, но я могу ответить на последнее сообщение, сообщения по убыванию.

Пожалуйста, посмотрите на messages.php:

<form action="read_message.php" method="post">
<div class="pull-right">
<button class="btn btn-info"  name="read"><i class="icon-check"></i> Read</button>

Check All <input type="checkbox"  name="selectAll" id="checkAll" />
<script>
$("#checkAll").click(function () {
$('input:checkbox').not(this).prop('checked', this.checked);
});
</script>

</div>

<ul class="nav nav-pills">
<li class="active"><a  href="messages.php"><i class="icon-envelope-alt"></i>inbox</a></li>
<li class=""><a  href="sent_message_user.php"><i class="icon-envelope-alt"></i>Send  messages</a></li>
</ul>

<?php
$query_announcement = mysql_query("select * from message_received
LEFT JOIN user ON user.user_id = message_received.user_id
where  message_received.receiver_id = '$session_id' order by date_sent DESC
")or die(mysql_error());
$count_my_message = mysql_num_rows($query_announcement);
if ($count_my_message != '0') {
while ($row = mysql_fetch_array($query_announcement)) {
$id = $row['message_id'];
$id_2 = $row['message_id'];
$fn = $row['firstname'];
$ln = $row['lastname'];
$status = $row['message_status'];
$sender = $row['user_id'];
$sender_name = $fn . ' ' . $ln;

$receiver = $row['receiver_id'];
?><div class="alert alert-info">
<div class="post"  id="del<?php echo $id; ?>">
<div class="message_content">
<?php echo $row['content']; ?>
</div>
<div class="pull-right">
<?php if ($status == 'read') {

} else {
?>
<input id="" class=""  name="selector[]" type="checkbox" value="<?php echo $id; ?>">
<?php } ?>
</div>
<hr>
Send by: <strong><?php echo $fn . ' ' . $ln; ?></strong>
<i class="icon-calendar"></i> <? php echo $row['date_sent']; ?>
<div class="pull- right">
<a class="btn  btn-link"  href="#reply<?php echo $id; ?>" data-toggle="modal" ><i  class="icon-reply"></i> Reply </a>
</div>
<div class="pull-right">
<a class="btn btn-link"   href="#<?php echo $id; ?>" data-toggle="modal" ><i class="icon-remove"></i>  Remove </a>
<?php include("remove_inbox_message_modal.php"); ?>
<?php include("reply_inbox_message_modal_user.php"); ?>
</div>
</div>
</div>

<?php }
} else { ?>
<div class="alert alert-info"><i class="icon- info-sign"></i> No   Message Inbox</div>
<?php } ?>
</form>

ТЕПЕРЬ это функция для read_message.php, я не вижу ошибок, пожалуйста, помогите мне.

<?php

if (isset($_POST['reply'])) {
$sender = $_POST['sender'];
$receiver = $_POST['receiver'];

$my_message = $_POST['my_message'];


mysql_query("insert into message_received    (user_id,receiver_id,content,date_sent)  values('$receiver','$sender','$my_message',NOW())")or die(mysql_error());
mysql_query("insert into message_sent   (receiver_id,content,date_sent,user_id)   values('$sender','$my_message',NOW(),'$receiver')")or die(mysql_error());
echo "<script> alert('Your message has been sent $my_message')    </script>";
echo "   <script>location.replace('messages.php')</script>";
?>
<script>
alert('Message Sent');
window.location = "messages.php";
</script>
<?php

}
?>

теперь это модальные коды ответа,

 <!-- Modal -->
<div id="reply<?php echo $id; ?>" class="modal hide fade" tabindex="-1"     role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria- hidden="true">x</button>
<h3 id="myModalLabel">Reply</h3>
</div>
<div class="modal-body">
<center>

<div class="control-group">
<label class="control-label" for="inputEmail">To:</label>
<div class="controls">
<input type="hidden" name="sender" id="inputEmail" value="<?php echo $sender; ?>" readonly>
<input type="hidden" name="receiver" id="inputEmail" value="<?php echo $receiver; ?>" readonly>
<input type="hidden" name="uid" id="inputEmail" value="<?php echo $uid; ?>" readonly>
<input type="hidden" name="my_name" value="<?php echo $reciever_name; ?>" readonly>
<input type="text" name="name_of_sender"  id="inputEmail" value="<?php echo $sender_name; ?>" readonly>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Content:</label>
<div class="controls">
<textarea name='my_message'></textarea>
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" name="reply" id="<?php echo $id; ?>" class="btn btn-success reply"><i class="icon-reply"></i> Reply</button>
</div>
</div>

</center>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-remove icon-large"></i> Close</button>
<button   id="<?php echo $id; ?>" class="btn btn-danger remove" data- dismiss="modal" aria-hidden="true"><i class="icon-check icon-large"></i>   Yes  </button>
</div>

когда я отвечаю на сообщение, сообщение отправляется, но в нем нет содержимого, кроме данных от отправителя, дата и время сохраняются в базе данных, но в самой нижней строке все это работает хорошо? Помогите мне, пожалуйста. благодарю вас

1

Решение

У вас есть ваше сообщение модальное окно в одной форме.

Таким образом, ваше решение работает, только если у вас есть только одно сообщение. Если у вас есть больше сообщений, когда вы отправляете свой ответ, отправьте все ответы для каждого сообщения (одна форма), и каждое содержимое ответа будет иметь одинаковое имя.

По этой причине ваш сервер получает пустой $ _POST [‘my_message’]

Вам нужно иметь для каждого ответа свою форму, и она будет работать. как это:

<form action="read_message.php" method="post">
<!-- Modal -->
<div id="reply<?php echo $id; ?>" class="modal hide fade" tabindex="-1"     role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria- hidden="true">x</button>
<h3 id="myModalLabel">Reply</h3>
</div>
<div class="modal-body">
<center>

<div class="control-group">
<label class="control-label" for="inputEmail">To:</label>
<div class="controls">
<input type="hidden" name="sender" id="inputEmail" value="<?php echo $sender; ?>" readonly>
<input type="hidden" name="receiver" id="inputEmail" value="<?php echo $receiver; ?>" readonly>
<input type="hidden" name="uid" id="inputEmail" value="<?php echo $uid; ?>" readonly>
<input type="hidden" name="my_name" value="<?php echo $reciever_name; ?>" readonly>
<input type="text" name="name_of_sender"  id="inputEmail" value="<?php echo $sender_name; ?>" readonly>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Content:</label>
<div class="controls">
<textarea name='my_message'></textarea>
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" name="reply" id="<?php echo $id; ?>" class="btn btn-success reply"><i class="icon-reply"></i> Reply</button>
</div>
</div>

</center>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-remove icon-large"></i> Close</button>
<button   id="<?php echo $id; ?>" class="btn btn-danger remove" data- dismiss="modal" aria-hidden="true"><i class="icon-check icon-large"></i>   Yes  </button>
</div>
</form>
0

Другие решения

Переменные PHP не анализируются в одинарных кавычках. Вам необходимо обновить SQL-запросы, чтобы использовать двойные кавычки или не заключать их в свои переменные PHP.

insert into message_sent   (receiver_id,content,date_sent,user_id)   values("$sender","$my_message",NOW(),"$receiver")

Вот почему только дата сохраняется.

Очистите сообщения в вашей базе данных, обновите запросы (несколько) и повторите попытку. Затем сообщите об обновлении, и я еще раз посмотрю на него.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector