У меня есть веб-чат.Пользователь может добавить собственный чат.И я хочу сделать кнопку, чтобы, если чат не его, он мог присоединиться к нему, но есть проблема.У меня есть таблица с пользователями, которые присоединились к чату, поэтому, если пользователь присоединяется к какому-либо чату, в таблицу «присоединено» вставляется идентификатор пользователя и идентификатор чата, который присоединяется.
И если пользователь нажимает кнопку «присоединиться» еще раз,он будет удален из этого чата.Но в моем коде так, что пользователь нажимает присоединиться, он присоединяется к чату, но когда он нажимает еще раз, он не удаляется из чата, как ему нужно, он вставляет еще один раз в этот чат, но когда он нажимает третий раз, он удаляет изчат
<?php
session_start();
$sql="select * from joined order by id desc";
$data=$db->prepare($sql);
$data->execute();
$joined=$data->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>chat-room</title>
</head>
<body>
<?php
if ($rows['username'] != $_SESSION["username"]) {
?>
<?php
}
?>
<form method="post">
<div class="none" style="display:none">
<?php
if($joined){
foreach($joined as $join){
?>
<input type="text" name="joined_id" value="<?php echo $join['id'];?>">
<?php
}
}
?>
</div>
<input type="submit" name="joinChatRoom" id="joinChatRoom" value="Вступить в чат-комнату">
</form>
<?php
if(isset($_POST['joinChatRoom'])) {
if (isset($_GET['ID'])){
$joined_id = $_POST['joined_id'];
$stmt = $db->prepare('SELECT * FROM joined WHERE ID=?');
$stmt->bindParam(1, $joined_id, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if($row)
{
$joined_id = $_POST['joined_id'];
$pdoQuery = "DELETE FROM `joined` WHERE id = :id";
$pdoResult = $db->prepare($pdoQuery);
$pdoExec = $pdoResult->execute(array(":id"=>$joined_id));
}
else {
$id=$_GET['ID'];
$userId = $_SESSION['user_id'];
$sql = 'INSERT INTO joined (user_id, chat_id) VALUES (?, ?)';
$query = $db->prepare($sql);
$query->execute([$userId, $id]);
}
}
}
?>