2017-06-29 2 views
1

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?

Antwort

0

Dies wurde von meinem Hosting-Unternehmen gelöst. Anscheinend wurde die "Session .save_pth in der php.ini Datei nicht richtig eingestellt". Ich bin mir nicht sicher, was das bedeutet, bin aber froh, dass es jetzt funktioniert. Hoffe es hilft anderen.

Verwandte Themen