По умолчанию fetch не будет отправлять или получать cookie с сервера. Это значит, что и сессии PHP работать не будут, так как они основаны на куках.
Для включения сессий необходимо в настройках fetch указать следующий параметр: credentials: 'include', вот так:
let promise = fetch('/ajax/', {
credentials: 'include',
});
Пусть на клиенте есть кнопка. Пусть по нажатию на кнопку отсылается AJAX запрос на какую-нибудь страницу сервера.
Сделайте на серверной стороне счетчик обращений к странице, работающий на сессии. Пусть при обращении к данной странице она возвращает текущее значение счетчика.
На клиенте над кнопкой сделайте абзац, в который будет выводится ответ сервера.
Реализуйте авторизацию и регистрацию пользователей, работающую через AJAX.