#php #mysql #sql #chat
Вопрос:
Эй, я создаю веб-сайт для чата в реальном времени, и я хочу добавить функцию просмотра сообщений, чтобы помочь отправителю подтвердить, видел ли получатель сообщение или нет. (Так же, как whatsapp)
Но проблема в том, что отправитель также может видеть свое собственное сообщение.
$outgoing_id = $_SESSION['unique_id'];
$incoming_id = mysqli_real_escape_string($conn, $_POST['incoming_id']);
$sel_sql = "SELECT * FROM messages WHERE outgoing_msg_id = '$outgoing_id' AND incoming_msg_id = '$incoming_id'";
$query = mysqli_query($conn, $sel_sql);
$row = mysqli_fetch_assoc($query);
if($sel_sql){
if($outgoing_id == $row['incoming_msg_id']){
$up_status = mysqli_query($conn, "UPDATE messages SET msg_status = 'seen'WHERE outgoing_msg_id = '$outgoing_id' AND incoming_msg_id = '$incoming_id'");
}
}
Комментарии:
1. Добавьте в свое ОБНОВЛЕНИЕ условие, что пользователь currant является получателем.
Ответ №1:
Вы можете отфильтровать по идентификатору пользователя в этом заявлении:
$sel_sql = "SELECT * FROM messages WHERE outgoing_msg_id = '$outgoing_id' AND incoming_msg_id = '$incoming_id' and ...user_id... <> ....user id of the message creator ....";
таким образом, вы также пропустите один оператор php if.