Сессия PHP - PullRequest
       21

Сессия PHP

2 голосов
/ 01 июля 2011

У меня есть один index.php, one.php файл.

В one.php у меня есть запуск сеанса и настройка сеанса var:

session_start(); 
if(isset($_GET['user'])){
    $_SESSION['user'] = $_GET['user'];
    }
function getUsername(){
  return $_SESSION['user'];
}

Я включаю one.php в index.php после того, как я вызываю функцию getUsername() я не запускаю сессию в index.php

include_once('one.php');
echo getUsername();

Но я не получаю сессию в index.php. Зачем ? я передаю переменную как

index.php?user=newuser .

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

Ответы [ 5 ]

1 голос
/ 01 июля 2011

Нет, невозможно получить сеанс на всех страницах без начала сеанса. Таким образом, в основном вам нужно следовать одним из следующих двух способов: -

  • Запустите сеанс на совершенно новой странице, в самом начале страницы, без пробелов, используя следующие строки кода: -

<?php

session_start();

// Other Lines of Code

  • Добавьте еще одну общую страницу (common.php), в которой строка (session_start(); в самом начале этой общей страницы) находится в начале каждой новой страницы.

Так что в основном именно это утверждение (session_start();) является сердцем использования сеанса.

Теперь, согласно вашему вопросу, страница "one.php" должна быть включена в самом начале. Так что должно работать.

Надеюсь, это поможет.

0 голосов
/ 01 июля 2011

Для каждой сессии Session_start () вверху было бы важно

session_start()

Попробуйте с

print_r($_SESSION)

Вы можете отладить значение SESSION всех.

0 голосов
/ 01 июля 2011

session_start () должен быть добавлен сразу после запуска первого файла PHP.

  • Убедитесь, что у вас нет пробелов / символов до <?php
  • Включите отчеты об ошибках(1)
  • Попробуйте var_dump ($ _ SESSION) (2)

(1):

<?php
error_reporting(E_ALL);

(2):

var_dump($_SESSION);
0 голосов
/ 01 июля 2011

Добавьте session_start в качестве первой строки в index.php.И нет необходимости добавлять one.php, поскольку $_SESSION является глобальным, вы можете получить доступ к переменной в one.php

0 голосов
/ 01 июля 2011

$_SESSION является глобальным.Но он будет инициализирован только после вызова session_start.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...