Идентификатор сессии изменения и сохраняет данные?

Взгляните на Assembly.GetTypes() метод. Это возвращает все типы, которые могут быть найдены в блоке. Все, что необходимо сделать, должно выполнить итерации через каждый возвращенный тип и проверку, если это реализует необходимый интерфейс.

На способа сделать так использует Type.IsAssignableFrom метод.

Вот пример. myInterface интерфейс, реализации которого Вы ищете.

Assembly myAssembly;
Type myInterface;
foreach (Type type in myAssembly.GetTypes())
{
    if (myInterface.IsAssignableFrom(type))
        Console.WriteLine(type.FullName);
}

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

6
задан Vegard Larsen 23 November 2009 в 03:14
поделиться

2 ответа

Вы можете использовать session_regenerate_id () :

 ";
echo "Новая сессия: $ new_sessionid 
"; print_r ($ _ СЕССИЯ); ?>

или даже более грубый подход может сработать:

// save the session
session_start();
$session = array();
foreach ($_SESSION as $k => $v) {
  $session[$k] = $v;
}
session_commit();

// create new session and copy variables
session_id("new session id");
session_start();
foreach ($session as $k => $v) {
  $_SESSION[$k] = $v;
}
13
ответ дан 8 December 2019 в 17:23
поделиться

Или вы можете просто использовать что-то вроде этого:

$path=session_save_path();
$whatever_session_id;

передайте эти переменные на следующую страницу:

session_id()=$whatever_session_id;
session_save_path()=$path;

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

-1
ответ дан 8 December 2019 в 17:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: