То есть как только человек логинится у него появляется (Картинка профиля. ) и я его ловлю аналитикой по наличии этой картинки. Но проблема в том что есть люди которые уже залогинились и когда они бродят по сайту аналитика на каждой из страничек ловит (Картинку профиля. ) соответственно я получу не правильную искаженную аналитику.Так в чем проблема? Вы ловите количество ЛОГИНОВ или вы смотрите количество пользователей в системе?
а что использовать вместо id, если мне нужно применить теги к одному блоку?задать ему уникальный класс? добавить уникальный аттрибут? хмм....
$stmt = $conn->prepare('SELECT user_id FROM access WHERE hash = ?');
$stmt->execute(array($_COOKIE['sid']));
$user_id = $stmt->fetchColumn();
$stmt = $conn->prepare('SELECT * FROM users WHERE id = ?'); здесь зачем 2 запроса? У вас в 1 можно все выбрать, не делайте лишних запросов.if (isset($_POST['submit'])) {тоже не совсем верная проверка, для этого есть $_SERVER['REQUEST_METHOD'] == 'POST', и дальше у вас без проверок используются всякие post переменные... Их вообще то надо как-то проверить...if ($user) {старайтесь так не делать, проверяйте хотя бы !empty().