Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Сессия не везде работает
masterlelik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 96
Пользователь №: 1297
На форуме: 9 лет, 11 месяцев, 13 дней
Карма:




Есть два файла index.php
session_start();
$_SESSION["user_id"]=10;

и
users.php
session_start();
echo $_SESSION["user_id"];

В результате проверки переменная $_SESSION["user_id"] вовсе не определена.

Это если напрямую в браузере запустить файл users.php
А если через аякс со страницы index.php, то переменная имеет правильное значение.

Куда копать, чтоб и по прямому запуску users.php переменная $_SESSION["user_id"] имела значение?

P.S. локально все работает и по прямой ссылке и через аякс, а вот на рабочем сервере как описано выше.


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




Запуская файл index.php ты создаешь $_SESSION["user_id"]=10;

И после если открыть users.php то тебе выведит то что ты присвоил к $_SESSION["user_id"]

Но если запустить к примеру просто users.php, то естественно тебе
ничего не покажет, так как в users.php ты ничего не присваеваешь
к $_SESSION["user_id"], а только ее выводишь

Так что чтоб увидеть что находится в $_SESSION["user_id"], нужно сначала
этой $_SESSION["user_id"] что то присвоить
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
masterlelik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 96
Пользователь №: 1297
На форуме: 9 лет, 11 месяцев, 13 дней
Карма:




@Astin
Так и делаю, в индексе вижу все переменные в массиве SESSION, затем захожу уже в юзерс, там этот массив пустой.


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




masterlelik
Я фиг его знает как ты что прописываешь

Вот я для примера в index.php прописал так
<?php

session_start();

$_SESSION["user_id"] = 'masterlelik';

echo '<a target="_blank" href="users.php">Открыть users.php</a>';


А в users.php прописал вот так
<?php 

session_start();

echo '$_SESSION = '.$_SESSION["user_id"];


И все работает, вот Здесь можешь посмотреть
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
masterlelik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 96
Пользователь №: 1297
На форуме: 9 лет, 11 месяцев, 13 дней
Карма:




2Astin
закинул эти два файла на сервер
запустил - ок

Затем смотрю, что хранится в массиве SESSION в моем индексе и юзерс.
В index определение user_id не произошло, а в юзерс произошло, т.е. только в юзерс я увидел изменения в массиве.


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




Так в index ты ее создаешь а в users.php ты ее выводишь для просмотра.
Можешь просматривать и в index

Вот еще пример написал для тебя Вот Здесь
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
masterlelik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 96
Пользователь №: 1297
На форуме: 9 лет, 11 месяцев, 13 дней
Карма:




Цитата (Astin @ 30.05.2016 - 04:06)
Так в index ты ее создаешь а в users.php ты ее выводишь для просмотра.
Можешь просматривать и в index

Вот еще пример написал для тебя Вот Здесь

Я имел ввиду свой индекс.пхп
В твоем создаю и вижу новую переменную и в самом индекс2 и в юзерс, а в индекс1 не вижу


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




Как ты не видишь, вот возьми в своем индекс1 пропиши вот так
<?php

session_start();

$_SESSION["user_id"] = 10;

echo $_SESSION["user_id"];


И просто обнови страницу и увидишь свою $_SESSION["user_id"]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




Цитата
В результате проверки переменная $_SESSION["user_id"] вовсе не определена.

Это если напрямую в браузере запустить файл users.php
А если через аякс со страницы index.php, то переменная имеет правильное значение.

Еще раз говорю, что при обращении к users.php в $_SESSION["user_id"] ничего не будет
так ты создаешь $_SESSION["user_id"] в index.php.
Для того чтоб увидеть в users.php что находится в $_SESSION["user_id"], нужно
запустить index.php который создает $_SESSION["user_id"].

И опять же если хочешь увидеть в index.php что находится в $_SESSION["user_id"],
нужно запустить index.php ну соответственно поставить в него вывод этой
$_SESSION["user_id"].

Код выше я тебе написал для того чтоб увидеть в index.php что находится в $_SESSION["user_id"]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




Вот здесь http://phpfaq.ru/sessions можешь почитать про сессии
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
masterlelik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 96
Пользователь №: 1297
На форуме: 9 лет, 11 месяцев, 13 дней
Карма:




2Astin

После того, как перепробовал разные варианты (разные папки, разные файлы) вижу следующее:
Есть конфигурационный файл который инклюдится в индексе. В котором я присваиваю и просматриваю сессионную переменную. Если я запускаю индекс, то созданная переменная видна ТОЛЬКО в индексе. Если же я конфиг-файл запускаю напрямую в браузере, то эта переменная видна везде и в индекс2, и в юзерс, и в том же индекс.пхп


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




Цитата
Есть конфигурационный файл который инклюдится в индексе. В котором я присваиваю и просматриваю сессионную переменную.

А вот теперь сам ответил на свой вопрос.

Ты получается создаешь $_SESSION["user_id"] в конфигурационном файле,
который подключается в индекс, Так?
Если правильно понял, тогда берешь и подключаешь конфигурационном файл в
свои индекс2, и юзерс и тогда $_SESSION["user_id"] будет видна и в них
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




К примеру, вот твой файл конфигурации config.php
<?php

session_start();

$_SESSION["user_id"] = 10;


//Что то еще



Вот твой index.php
<?php

include 'config.php';

echo $_SESSION["user_id"];



Вот твой index2.php
<?php

include 'config.php';

echo $_SESSION["user_id"];



Вот твой users.php
<?php

include 'config.php';

echo $_SESSION["user_id"];



И все, теперь у тебя везде видна $_SESSION["user_id"]
_
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
masterlelik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 96
Пользователь №: 1297
На форуме: 9 лет, 11 месяцев, 13 дней
Карма:




2Astin
Да, спасибо, нашли причину.

Но почему в тестовом файле index2.php недостаточно просто запустить session_start();
чтоб увидеть все переменные, которые создаются в конфиге?

Ведь конфиг также начинается со строки session_start(); ?


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 11 дней
Карма: 7




Бля... Ты че

Цитата
Но почему в тестовом файле index2.php недостаточно просто запустить session_start();
чтоб увидеть все переменные, которые создаются в конфиге?


Потому что у тебя твой конфиг подключается в index.php и при запуске
index.php естественно создастся твоя $_SESSION["user_id"], потому что
она создается в конфиге а он подключается в index.php

Если твой конфиг не подключить к примеру в index2.php и просто запустить его,
то естественно ничего не создастся так как там ты только смотришь что находится
в $_SESSION["user_id"], а подключив в index2.php свой конфиг и запустив index2.php
ты увидешь что есть в $_SESSION["user_id"], потому что $_SESSION["user_id"]
создается в конфиге а он подключен к index2.php


А так вообще чтоб увидеть что в $_SESSION["user_id"] ее нужно сначало
создать
Ты запусти свой index.php в котором подключен конфиг, который
создает твою $_SESSION["user_id"]

А потом в index2.php пропиши
<?php 

session_start();

echo $_SESSION["user_id"];


Запусти свой index2.php и увидишь ты свою созданную ссесию

Ты получается еще не создал $_SESSION["user_id"] а уже хочешь видеть что в ней находится
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса