@Kirill-Gorelov
С ума с IT

Доступ к страницы со скриптом с разных компьютеров?

Всем привет.
Такой вопрос.
Есть php скрипт. Не важно какой, это не суть.
Если он исполняется для одного пользователя то:
Если одновременно с ним зайдет другой пользователь то он увидит результат исполнения скрипта, пользователя, который зашел раньше его! Это естественно так как это не js, который исполняется для каждого браузера.
А как мне сделать так, что бы php скрипт исполнялся для каждого пользователя. Что бы они не видели результаты работы скрипта друг друга! Без регистрации и базы данных.
Скрипт заключается в том, что идет запись в файл.
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
@Silm
Как уже выше сказали, PHP сценарий исполняется заново при каждом запросе, пользователи не видят результат выполнения другого пользователя, только если эти результаты небыли сохранены и намерено продемонстрированы.

Если я правильно понял, у вас проблема в том, что PHP что то пишет в файл и показывает это. Так как файл один, то все пользователи видят его полностью. Если вам надо изменить это поведение, то вам надо сделать 2 вещи: 1 - отличать пользователей друг от друга, 2 - помечать сохраняемые данные, к какому пользователю они относятся.

Различать пользователей можно по разному, логичнее всего это делать с помощью сессий: php.net/manual/ru/session.examples.basic.php но в зависимости от задачи, это можно делать и другими способами, например по IP пользователя или другой информации.

Если вам обязательно надо хранить данные в файлах, то, вероятно, лучше всего для каждого пользователя создавать свой файл. Если файл должен быть один, то удобнее всего использовать один из форматов: CSV, JSON или XML. В этом случае в файле будут хранится как данные так и метка указывающая какому пользователю эти данные принадлежат.

Но все эти варианты не удобны для активной работы с данными и не подходят для хранения большого объема данных для большого количества пользователей. Лучшим вариантом будет использовать все же базу данных, возможно вас заинтересует СУБД SQLite, для нее не нужен сервер, все данные хранятся в одном файле.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы