Есть несколько способов сделать это.Простейшим было бы иметь массивы сессий $ _SESSION ['locked'] и $ _SESSION ['unlocked'].Всякий раз, когда вы получаете новый идентификатор запроса, добавьте эту запись в $ _SESSION ['unlocked'] и удалите ее из $ _SESSION ['locked'].Затем вы можете просто прочитать любой сеансовый массив, чтобы определить, должен ли ответ отображаться или оставаться скрытым.
Другой способ сделать это будет включать, по сути, ту же логику, но использование таблицы базы данных для отслеживания того, что заблокировано.или разблокирован для каждого пользователя.
Если полный список возможных идентификаторов запросов является статическим, вы даже можете избежать отслеживания ответов, которые заблокированы, и просто сохранить массив сеансов (или таблицу базы данных), для которых разблокированыдля каких пользователей.
Ниже приводится общая идея:
if(isset($_POST['requestid'])){
$_SESSION['unlocked'][] = $_POST['requestid']
}
foreach($answers AS $answer){
foreach($_SESSION['unlocked'] AS $requestid){
if($answer['requestid'] == $requestid){
//output revealed answer
} else{
//output locked answer
}
}
}