2012-04-16 2 views
0

У меня есть файл, в котором я этот кодО PHP Sessions

session_start(); 
session_register("name"); 
$name = "test"; 

Когда я увидел печенье в хроме, он говорит, что это находится в корневой папке.

Мой вопрос здесь, где этот сеанс будет сохранен на моем xampp локального хоста и где мой сеанс будет сохранен в хостинге для совместного доступа.

Если у меня есть session_start(); $ _SESSION ['id'] = "некоторое значение"; , я могу использовать это значение на всех страницах, это то, что я стоял от чтения о сеансе, поправьте меня, если я ошибаюсь.

Я использовал это в своем общем хостинге, но когда я вызываю переменную сеанса на другой странице, он пуст, я не знаю, имеет ли мой хостинг разрешение на запись в сеансе или по какой причине он может быть пустым.

+0

Вам нужно вызвать session_start() на каждой странице, где вы хотите использовать значение сеанса. –

ответ

0

Сессия хранится на сервере, но идентификатор сеанса хранится на компьютере пользователя как длинный случайный идентификатор. Пользователь не может редактировать сеанс, но он может украсть идентификатор сеанса и использовать его в несанкционированной учетной записи.

Возможно, у вас есть register_globals, установленный в 1 в php.ini. Настоятельно рекомендуется отключить это, так как оно может быть использовано злонамеренно, но это объясняет, почему установка $ name также может устанавливать $ _SESSION ['name']. В основном это позволяет установить все переменные из одной точки.

0

вам нужно, чтобы сохранить новое значение, как

$_SESSION['name'] = "test"; 

$_SESSION['name'] НЕ РАВНО $name

поэтому экономия значение, как $name = "test"; не будут сохранены в $_SESSION['name']

Вы должны вызвать session_start() ; на каждой странице, чтобы получить сохраненный сеанс в пропозиции с одной страницы на требуемую страницу. или установить его на/1 в файле php.ini (не рекомендуется)

Местоположение хранилища переменной $_SESSION определяется конфигурацией PHP «session.save-path». Обычно это «/tmp» в системе Linux/Unix. Используйте функцию phpinfo(), чтобы просмотреть отдельные настройки, если не 100% уверен, создав файл с этим содержимым в DocumentRoot вашего домена:

<? phpinfo() ?> 

проверки ниже ссылку для получения более подробной информации

session.save_path

0

Сеанс сохраняется на сервере как файл с именем, например, 1234. Это текстовый файл. Он сохраняется в пути, настраиваемом php.ini.

Клиентская сторона cookie сохраняется. Содержимое файла cookie равно имени файла сеанса 1234. Бортовой сервер для каждого запроса отправляет содержимое файла cookie, чтобы сервер считывал содержимое файла cookie и проверял, существует ли соответствующий сеанс. Для проблем с использованием сеансов ... дает нам больше кода!

0

Чтобы использовать сессии, вам нужно сделать:

session_start(); 

И тогда вы можете сделать:

$_SESSION['id'] ="some value"; 

и использовать его:

$id = $_SESSION['id']; 

session_register является устаревшей функцией, вы не должны его использовать. В любом случае, вы использовали его в неправильном порядке (последнее, что вы должны сделать со значением, это зарегистрировать его, вы регистрируете нулевую переменную $name).

1

Есть 2 настройки для сохранения сеанса:

  1. В общей памяти.
  2. В файлах.

В случае файлов вы можете получить доступ к данным сеанса, тогда как в случае памяти вы не сможете.

получить доступ к данным сеанса получить путь к папке с помощью этой функции session_save_path();

Примечание: - хосты защиты этих типов папок, так что они не могут быть доступны непосредственно

еще одна вещь, чтобы проверить, если установка сеанса в папке или памяти проверить ваш phpinfo();

и если файлы выбраны Вы можете явно изменить путь по тем же функциям session_save_path(); Пожалуйста, проверьте: Check Here

+0

: Я проверил его, мой session_save_path не говорит о ценности, что это значит? –

0

С Go Daddy 4GH, на котором размещаются сессии, по умолчанию сохраняется каталог/tmp, расположенный на том же уровне, что и ваш каталог/html. Вы можете найти полный путь к этому, используя эти шаги.

найти Ваш Absolute хостинг Путь

1. Log in to your Account Manager. 
2. Click Web Hosting. 
3. Next to the hosting account you want to use, click Launch. 

В разделе Сервер, вашей учетной записи хостинга Абсолютной хостинг Путь дисплеях.

Если это не то место, где вы хотите сохранить свои сеансы, вы можете изменить это в файле php.ini или использовать функцию session_save_path() в своем скрипте.

Для получения информации об этом для стека XAMPP вы можете проверить here.