2016-04-10 9 views
-2

Может ли кто-нибудь мне помочь? моя сессия не сохраняется. когда я делаю другую страницу и использую сеанс, а затем отправляю ее на другую страницу, это работает. когда я использую wamp для тестирования моего сервера, он работает. Может кто-нибудь мне помочь ? Он отправляет меня обратно на страницу входа.

session_start(); 

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

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

}else{ 

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

на странице входа

session_start(); 

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

Я не уверен, что ваша проблема. –

+0

Итак, где вы запускаете этот код, когда он не работает – RiggsFolly

+0

Я запускаю его на сервере, и он не работает –

ответ

2

"ИТС отправляет меня обратно на страницу входа в систему."

Это потому, что массив сеанса (явно) пусто и не было назначено ни к чему.

Кроме того, вам необходимо переключить свой сеансовый массив и переменную во втором файле, являясь страницей/файлом входа.

(Испытано 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 и проверки, если сеанс установлен также.

Изменение $_SESSION['id'] = $userunhex; в $userunhex = $_SESSION['id'];

<?php 

session_start(); 

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

    $userunhex = $_SESSION['id']; 

    echo $userunhex; 

} 

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

спасибо всем. я просто фик его

сделал это:

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

}else{ 
    echo "<script> window.location.replace('Login.php') </script>"; 
} 
Смежные вопросы