2012-06-06 3 views
1

Я недавно перевел свой сайт в основной домен моего веб-сайта.Сессия потеряна при обновлении

Я нахожу, что, когда я вхожу на свой сайт, на странице учетной записи отображается, но сеансы теряются, когда я обновляюсь или когда выполняется вызов ajax, выписывая меня. У меня есть iframe на моей странице учетной записи, и я недавно установил SSL.

Любые идеи, почему моя сессия потеряна? Или есть способы найти тип ошибки?

Моя информация РНР:

session.auto_start Off Off 
session.bug_compat_42 On On 
session.bug_compat_warn On On 
session.cache_expire 180 180 
session.cache_limiter nocache nocache 
session.cookie_domain no value no value 
session.cookie_httponly Off Off 
session.cookie_lifetime 0 0 
session.cookie_path//
session.cookie_secure Off Off 

Ошибки, которые я получаю, когда я надевал отчетов об ошибках:

<b>Notice</b>: Undefined index: adminsess in <b>/home/onclick1/public_html/admin.php</b> on line <b>35</b><br /> 
<br /> 
<b>Notice</b>: Undefined index: secure in <b>/home/onclick1/public_html/admin.php</b> on line <b>36</b><br /> 
<br /> 

код, который дает ошибку просто:

<?php 
session_start(); 
ini_set('error_reporting', E_ALL); 
require "connectTo/db.php"; 

if(!isset($_SESSION['adminsess']) || !isset($_SESSION['secure'])){ 
     //exit(); *comment out to give error* 
    } 

Я прошел через свой код и обнаружил, что ошибка, кажется, происходит (не удается сохранить данные сеанса), когда я добавляю ah eader() перенаправляется на индексную страницу. Код я есть на сайте, чтобы перенаправить пользователей, которые вошли в ниже:

Если заголовок переадресации используется .. это только петли и оленья кожа загрузить страницу

<?php 
session_start(); 

error_reporting(E_ALL | E_WARNING | E_NOTICE); 
ini_set('display_errors', TRUE); 

//print_r($_SERVER); 

//exit; 
$TheIp=ip2long($_SERVER['REMOTE_ADDR']); 
$ip= trim($TheIp); 


include('mobile.php'); 
require "db.php"; 

$_SESSION['secureip'] = $ip; 

if(isset($_SESSION['adminsess'])) 
    { 
    $ipVistor = $ip; 
    $ipVistorSalt= $ipVistor."28257esfgs"; 
    $ip=md5($ipVistorSalt); 

    $userAgent=$_SERVER['HTTP_USER_AGENT']; 
    $userAgentSalt=$userAgent."jk2hgkj22352523s"; 
    $agent=md5($userAgentSalt); 

    if(isset($_SESSION['secure']) && $_SESSION['secure']==$ip) 
    { 

    if (isset($_SESSION['secure2']) && $_SESSION['secure2'] == $agent) 
    {  
     //header("Location: https://www.site.com/admin?Welcome"); 
     exit(); 
    } 
    } 
    } 

?> 

Любая помощь/информация будет Великий. Заранее спасибо !


Даже если я положил это на самом верху страницы, она TRYS для загрузки index2.php, но только продолжает цикл ... это проблема сервера ?? (index2 - всего лишь копия индекса).

<?php 
header("Location: https://www.site.com/index2.php"); 
exit; 
+1

Пожалуйста, отправьте код PHP. –

+1

Я думаю, что здесь есть еще одна проблема, возможно, с тем, как вы настраиваете сеанс или как вы его используете, поэтому PHP-код действительно необходим. Специально, поскольку iFrame может быть между ними, и ошибки, которые вы вставили, не имеют смысла без кода. – Toote

+0

Какова цель 'iframe'? –

ответ

1

Попробуйте изменить имя сеанса:

session_name("foo"); 

Или в исполняемой конфигурации:

session.name foo 

убедитесь, что вы звоните session_start() и вызов Ajax не на другой домен ,

Смежные вопросы