$_SESSION['user']['id'] - сюда изначально записывается "что-то" ?
Если тупо "проверку" нужно сделать(беря во внимание, что всё таки туда "когда-то что-то записывалось"), то:
<?php
session_start();
require_once __DIR__ . '/scr/connect.php';
$connect = getDB();
if (!empty($_SESSION['user']['id']) && $_SESSION['user']['id'] == 'XYZ') {
$idUser = $_SESSION['user']['id'];
}else{
// Пусто в сессии...
header("Location: /profile.php");
}
UPD:
Хотя проверка какая-то тупая...наверное вот так должно быть:
<?php
session_start();
require_once __DIR__ . '/scr/connect.php';
$connect = getDB();
if (!isset($_SESSION['user']['id'])) {
// Пусто
}else{
$idUser = $_SESSION['user']['id'];
header("Location: /profile.php");
}