Se è lo stesso web server ad ospitare sia l'HTTP che l'HTTPS e la cartella delle sessioni è condivisa, è sufficiente passare il SID (session_name() . '=' . session_id()) per propagare le sessioni.
Prima di impelagarsi nello sviluppo di soluzioni complesse, dovresti provare con un semplice pagina di prova a passare il SID da e verso l'HTTPS e vedere se i valori sono mantenuti.
Codice PHP:
<?php
session_start();
$_SESSION["test"] = isset($_SESSION["test"]) ? $_SESSION["test"] + 1 : 0;
print('$_SESSION["test"] = ' . $_SESSION["test"]);
?>
[url="https://<?php echo($_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?' . session_name() . '=' . session_id()); ?>"]HTTPS[/url]
[url="http://<?php echo($_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?' . session_name() . '=' . session_id()); ?>"]HTTP[/url]