2015-11-04 68 views
0

在我的計劃,我想在會話超時再次輸入登錄信息返回到上一個頁面,在此之後我正在做這樣的如何找回以前的頁面時,會話超時在php

指數.PHP:

$PAGE_TITLE = "Sign In..."; 
    getTitleSetting('Super'); 
    divertAdminUser(); 
    $index_local_url =$_SERVER['HTTP_HOST'].'/TicketRoom/public_html/test/users/index.php'; 
    $redirect_url = $_SERVER['HTTP_REFERER']; 
    if(isset($_POST['seller_password']) && isset($_POST['seller_email']) && $_POST['seller_submit_x'] != '' && $_POST['seller_submit_y'] != ''){ 

    $password=$_POST['seller_password']; 
    $username=check_input($_POST['seller_email']); 

    $db=new DbConnect($DB_HOST, $DB_USERNAME, $DB_PASSWORD, $DB_NAME,$DB_REPORT_ERROR, $DB_PERSISTENT_CONN); 
$db->open() or die($db->error()); 

if(authenticateUser($password, $username, $db)){ 

    $seller_id =$_SESSION['SESS_v_seller_id']; 

$select_email_query=mysql_query("select * from ".TK_SELLER_USERS." where id='".$seller_id."'"); 
$row_seller_id = mysql_fetch_array($select_email_query); 

$trading_status =  $row_seller_id['status']; 
$_SESSION['SESS_v_usertype'] = $row_seller_id['user']; 
if($redirect_url == $index_local_url) 
{ 
if($trading_status == "Active-pending") 
{ 
    header("location:reset_password.php"); 
    exit; 
} 
else 
{ 
    if($row_seller_id['user'] == "Affiliate") 
    { 
    if($_SESSION['sts_aff'] == "P") 
    { 
    header("location:dashboard/awaiting_approval.php"); 
    exit; 
    } 
else 
    { 
    header("location:dashboard/current.php"); 
    exit; 
    } 

    } 
    else if($row_seller_id['user'] == "Performer") 
    { 

    header("location:accountsettings/performer_index.php"); 
    exit; 
    } 
    else if($row_seller_id['user'] == "Venu_owner") 
{ 
    // header("location:https://example.com/test/users/accountsettings/performer_index.php"); 

    header("location:accountsettings/performer_index.php"); 
    exit; 
    } 
    else 
    { 
    header("location:dashboard.php"); 
    exit;` 
    } 
    } 
} 
else 
{ 
    header("location:".$redirect_url); 
} 

} 

else{ 

    $_SESSION['sess_msg'] = "Authentication failed!"; 
    $_SESSION['sess_class']='err'; 
    header ("Location: index.php");   
    exit; 
} 

}

我試圖回到以前的頁面,但它不能正常工作時,會話超時了回來到登錄頁面

 here my $redirect_url = some previous page($_SERVER['HTTP_REFERER']) 

再次輸入登錄詳細信息我的$ REDIRECT_URL變化到登錄頁面URL

 $redirect_url = login page($_SERVER['HTTP_REFERER']) 

所以其重複相同的頁面,我想僅用於會話超時不註銷我怎麼能做到這一點可以請你解釋一下。

+0

請注意,您正在使用的舊mysql_ *擴展在PHP 5.5(當前版本)版本中已被棄用,並且正在從版本7(下一版本)中刪除。您需要遷移到在此程序中使用mysqli_ *擴展名或PDO – SpacePhoenix

回答

0

當你檢查會話時,如果沒有存儲會話,則創建臨時會話變量並將當前URL存儲在該會話中。

用戶登錄後,檢查是否設置臨時會話變量。如果設置,則獲取該變量的值並重定向到該頁面,否則繼續進行配置文件/儀表板頁面。

+0

$ redirect_url用作臨時會話變量 – naresh