Как использовать хранение и использование переменных сеанса на разных страницах?

Когда доступна одна страница, я хотел бы начать сеанс и сохранить переменную сеанса:

<?php session_start(); $_SESSION['myvar']='myvalue'; ?> 

Затем с другой страницы я хотел бы проверить, сохранена ли эта переменная сеанса:

 <?php session_start(); echo("1"); if(isset($_SESSION['myvar'])) { echo("2"); if($_SESSION['myvar'] == 'myvalue') { echo("3"); exit; } } ?> 

Этот код не работает для меня.

Исходя из комментариев к этому вопросу, кажется, что отсутствует скорректированный сеанс. Save_path вызывает это неправильное поведение обработчика сеанса PHP. Просто укажите каталог (за пределами корневого каталога вашего документа), который существует и является читаемым и записываемым PHP, чтобы исправить это.

Все, что вы хотите сделать, это write — session_start (); —– на обеих страницах.

 <!-- first page --> <?php session_start(); $_SESSION['myvar'] = 'hello'; ?> <!-- second page --> <?php session_start(); echo $_SESSION['myvar']; // it will print hello ?> 

Сеансы шаг за шагом

  1. Определение сеанса перед всем, до выхода не должно быть, NO OUTPUT

     <?php session_start(); ?> 
  2. Установите сеанс внутри страницы, а затем у вас есть доступ к этой странице. Например, это страница 1.php

     <?php //This is page 1 and then we will use session that defined from this page: session_start(); $_SESSION['email']='email@example.com'; ?> 
  3. Использование и получение сеанса в 2.php

      <?php //In this page I am going to use session: session_start(); if($_SESSION['email']){ echo 'Your Email Is Here! :) '; } ?> 

ПРИМЕЧАНИЕ . Комментарии не выводятся.

В том случае, если вторая страница не имеет общего доступа к файлу cookie сеанса, вам необходимо установить путь к cookie сеанса с помощью session_set_cookie_params :

 <?php session_set_cookie_params( $lifetime, '/shared/path/to/files/' ); session_start(); $_SESSION['myvar']='myvalue'; 

А также

 <?php session_set_cookie_params( $lifetime, '/shared/path/to/files/' ); session_start(); echo("1"); if(isset($_SESSION['myvar'])) { echo("2"); if($_SESSION['myvar'] == 'myvalue') { echo("3"); exit; } } 

Каждый раз, когда вы начинаете сеанс (применяется к PHP версии 5.2.54), session_start() создает новый идентификатор сеанса.

Вот исправление, которое сработало для меня.

File1.php

 session_id('mySessionID'); //SET id first before calling session start session_start(); $name = "Nitin Hurkadli"; $_SESSION['username'] = $name; 

File2.php

 session_id('mySessionID'); session_start(); $name = $_SESSION['username']; echo "Hello " . $name; 

Начало сеанса:

Поместите ниже код в верхней части файла.

 <?php session_start();?> 

Хранение переменной сеанса:

 <?php $_SESSION['id']=10; ?> 

Чтобы проверить, сохранены ли данные в переменной сеанса:

 <?php if(isset($_SESSION['id']) && !empty(isset($_SESSION['id']))) echo “Session id “.$_SESSION['id'].” exist”; else echo “Session not set “;?> 

?> подробно здесь http://skillrow.com/sessions-in-php-4/

Попробуй это

Первая страница

 <?php session_start(); $_SESSION['myvar']='myvalue'; ?> 

Вторая страница

  <?php session_start(); echo $_SESSION['myvar']; ?> 

Попробуй это:

 <!-- first page --> <?php session_start(); session_register('myvar'); $_SESSION['myvar'] == 'myvalue'; ?> <!-- second page --> <?php session_start(); echo("1"); if(session_is_registered('myvar')) { echo("2"); if($_SESSION['myvar'] == 'myvalue') { echo("3"); exit; } } ?>