Ich verliere die Sitzungsvariable, während ich die Sitzungs-ID mit dem folgenden Code behalte.Sitzungsvariablen verlieren, während die Sitzungs-ID beibehalten wird
index_simplified.html
<!DOCTYPE HTML>
<html>
<body>
<form action="processLogin_simplified.php" method="post">
username:
<input type="text" class="textfield" name="username">
<input type="submit" name="login" value="Login">
</form>
</body>
</html>
processLogin_simplified.php
<?php
session_start();
$_SESSION['username'] = $_POST['username'];
session_write_close(); // tried with and without this line
header('Refresh: 0; URL=https://www.domainname.com/foldername/dashboard_simplified.php');
exit(); // tried with and without this line
?>
dashboard_simplified.php
<?php
session_start();
echo 'session id:' . session_id();
echo '<br><br>username: ' . $_SESSION['username'];
?>
Ausgabe zeigt die Sitzungs-ID, aber nichts für die Benutzername-Sitzungsvariable.
Es ist bemerkenswert, dass mein vollständiger Code funktionierte, bis ich SSL über meine Serverfirma gekauft und den Umleitungscode zur htaccess-Datei des Ordners mit diesen Dateien hinzugefügt habe. Der verwendete Code war:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domainname.com/foldername/$1 [R,L]
Diese erfolgreich Benutzer weitergeleitet, die an die Stelle gingen über http auf die gleiche Stelle mit https. Ich versuchte auch, in RewriteCond %{HTTPS} off
hinzuzufügen, um sicherzustellen, dass eine Umleitung nicht vorkam, als der Benutzer zuerst https verwendete, aber dieses hatte keinen Effekt.
Gibt es eine Lösung, in der meine Sitzungsvariablen bestehen bleiben?