Решил проблему.
Чтобы сохранение происходило не только на главной, в скрипте из
"./themes.php?theme="
нужно удалить "точку".
А также прикрутил куки к этому методу, выложу, может кому пригодится.
В php файл надо добавить
SetCookie("имя куки","$theme",time()+86400 * 30 * 12);
Должно получиться так:
<?php
session_start();
if(isset($_GET["theme"]))
{
$theme = $_GET["theme"];
SetCookie("имя куки","$theme",time()+86400 * 30 * 12);
if($theme == "light" || $theme == "dark")
{
$_SESSION["theme"] = $theme;
}
}
?>
А в тот кусок php кода который располагается в head надо добавить:
if(isset($_COOKIE['имя куки'])){
$_SESSION["theme"] = $_COOKIE['имя куки'];
}
Должно получиться так:
<?php
session_start();
if(!isset($_SESSION["theme"]))
{
$_SESSION["theme"] = "light";
}
if(isset($_COOKIE['имя куки'])){
$_SESSION["theme"] = $_COOKIE['имя куки'];
}
?>
Таким образом будет проверка на сессию и на куки.
И даже если юзер разлогинится и сессия затрётся, выбранная им тема вытянется из куки.