2015-06-29 1 views
1

Из-за управления сеансом межсайтового сайта, во-первых, я отправил идентификатор сеанса через URL-адрес. Обратите внимание: у меня была переменная $ username. Первый код - это просто большой код.Переменная сеанса PHP, не проходящая вперед, когда идентификатор сеанса получен с помощью строки url

ini_set("session.use_cookies",0); 
ini_set("session.use_trans_sid",1); 
session_start(); 
$session_id = $username; 
header("location: http://somedomain.com/receive.php?session_id=". $session_id); 

Теперь я получил его здесь и создание нового сеанса я пересылаемой переменную сеанса в одном месте:

ini_set("session.use_cookies",0); 
ini_set("session.use_trans_sid",1); 
session_id($_GET['session_id']); 
$some_var=session_id(); 
session_destroy(); 
session_start(); 
$_SESSION["var_name"] = $some_var; 
//echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>'; 
header("location: anotherfile.php"); 

Когда я раскомментировать эхо линии выше и строки комментария заголовка, то я могу увидеть массив сеансов успешно. Но когда я передаю его другому файлу.php, я теряю сессию.

session_start(); 
echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>'; 

Любая помощь, по которой я не могу получить сеанс в последнем файле.

ответ

0

изменить второй файл

<?php 
     ini_set("session.use_cookies",0); 
     ini_set("session.use_trans_sid",1); 
     session_id($_GET['session_id']); 
     $some_var = session_id(); // remove session_destroy code because no  session is set before. 
     session_start(); 
     $_SESSION["var_name"] = $some_var; 
     header("location: anotherfile.php"); 

на это будет прекрасно

<?php 

     session_id($_GET['session_id']); 
     $some_var = session_id(); // remove session_destroy code because no  session is set before. 
     session_start(); 
     $_SESSION["var_name"] = $some_var; 
     header("location: anotherfile.php"); 

 Смежные вопросы

  • Нет связанных вопросов^_^