Конструкция if (!$_COOKIE['user']) ... выполняет попытку сопоставить значение элемента с 0 или false, а нужно выполниться проверку наличия элемента как такового
То есть корректной будет следующая конструкция:
if (array_key_exists(‘user’)) ...
или
if (isset(‘user’)) ...