Как использовать flu sh (), если пользователь (сеанс) вошел в систему?
Я пытался использовать следующий код для проверки уведомлений, когда пользователь вошел в систему, но существует проблема: Flu sh не работает, если я использую сеанс Не могу получить запрос без сеанса, потому что to
= '$ iam' и $ iam - это идентификатор пользователя
<?php
session_start();//Start session
ob_start();
include("../system/connect.php");
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");//It means don't use session, so it's almost oposite of session_start();
if(isset($_SESSION['user'])){
$iam=$userRow['user_id'];
$id=int($_GET['id']);
if($id>=1){
$result = mysqli_query($con, "SELECT * FROM `notification` WHERE `to` = '$iam' `seen` = '1' order by `id`");
$c=mysqli_num_rows($result);
echo "data: " . $c . "\n\n";// Send it in a message
flush();
}
}
?>
Также есть другой способ, более простой и слишком вероятно: я могу использовать $ _GET ['i'] в качестве идентификатора пользователя, но, кстати, пользователь сможет считать уведомления других пользователей, это просто ошибка
include("../system/connect.php");
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
$iam=int($_GET['i']);
$id=int($_GET['id']);
if($id>=1){
$result = mysqli_query($con, "SELECT * FROM `notification` WHERE `seen` = '1' order by `id`");
$c=mysqli_num_rows($result);
echo "data: " . $c . "\n\n"; // Send it in a message
flush();
}
?>
В заключение, мне нужен первый способ в правильной форме, помогите мне, пожалуйста