2016-04-10 29 views
-2

kann mir jemand helfen? Meine Sitzung speichert nicht. Wenn ich eine andere Seite mache und die Sitzung nutze und sie dann an eine andere Seite sende, wird sie funktionieren. Wenn ich Wamp benutze, um meinen Server zu testen, funktioniert es. Kann mir jemand helfen ? Es schickt mich zurück auf die Login-Seite.

session_start(); 

if(isset($_SESSION['id'])){ 

    $username = bin2hex($_SESSION['id']); 

}else{ 

    echo "<script> window.location.replace('Login.php') </script>"; 
} 

auf Login-Seite

session_start(); 

$_SESSION['id'] = $userunhex; 
+0

Ich bin nicht sicher, was dein Problem ist. –

+0

So, wo Sie diesen Code ausführen, wenn es nicht funktioniert – RiggsFolly

+0

ich bin es auf dem Server laufen und es wird nicht funktionieren –

Antwort

2

"Sein schickt mich zurück auf die Login-Seite."

Das liegt daran, dass der Session-Array (offensichtlich) leer und wurde nicht auf etwas zugewiesen.

Außerdem müssen Sie Ihre Session-Array und Variable in Ihrer zweiten Datei wechseln, die Anmeldeseite/-datei.

(Getestet TRUE)

file1.php

<?php 
session_start(); 

$_SESSION['id'] = 123; // My own test assignment. You need to use the one you are using. 

if(isset($_SESSION['id'])){ 

// This is actually valid syntax. 
// echo $username= bin2hex($_SESSION['id']); 

    $username = bin2hex($_SESSION['id']); 

}else{ 


// echo "Not set"; 

    echo "<script> window.location.replace('Login.php') </script>"; 
} 

file2.php und prüfen, ob die Sitzung auch festgelegt ist.

Ändern $_SESSION['id'] = $userunhex; zu $userunhex = $_SESSION['id'];

<?php 

session_start(); 

if(isset($_SESSION['id'])){ 

    $userunhex = $_SESSION['id']; 

    echo $userunhex; 

} 

else { 
    echo "Session is not set". 
} 
0

danke euch allen. Ich kann es nur feste

dies tat:

session_start(); 
$username = $_SESSION['id']; 
$username = bin2hex($username); 
if(isset($username)){ 

}else{ 
    echo "<script> window.location.replace('Login.php') </script>"; 
}