Если я отправлю сообщение другому, то от другого пользователя я хочу, чтобы это сообщение было видно в php и MySQL

#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.