2017-05-12 26 views
0

我通過鏈接「welcome.php?language = english」重定向到頁面。爲什麼重定向到網頁未找到?

但是,當我在Session聲明下面放置函數'confirm_patient_logged_in()'時,它顯示「找不到網站」。而當這個函數被放置在Session聲明之上時,它會重定向到'login.php'。

誰能說出背後是什麼原因?

的welcome.php

<?php require_once("../../includes/session.php"); ?> 

<?php confirm_patient_logged_in(); ?> //WORKING HERE 

<?php 

if(isset($_GET["language"])){ 
    if($_GET["language"] == "english"){ 
     $_SESSION["language"] = "english"; 
    }else{ 
     $_SESSION["language"] = "hindi"; 
    } 
} 

?> 

<?php confirm_patient_logged_in(); ?> // NOT WORKING HERE 

功能:

function confirm_patient_logged_in(){ 
     if(!patient_logged_in()){ 
     redirect_to("login.php"); 
    } 
} 

function redirect_to($new_location){ 
    header("Location: " . $new_location); 
    exit; 
} 

patient_logged_in(),如果用戶登錄或不

+0

請提供'redirect_to()'函數的詳細信息並ping我。 – mertyildiran

+0

我加了一個答案。請看看並告訴我,如果這不是你的情況,所以我可以更新我的答案。 – mertyildiran

+0

會話已經在session.php中啓動 – Observer

回答

1

好像你忘了加檢查使用前session_start();$_SESSION變量:

<?php 

require_once("../../includes/session.php"); 

session_start(); 

if(isset($_GET["language"])){ 
    if($_GET["language"] == "english"){ 
     $_SESSION["language"] = "english"; 
    }else{ 
     $_SESSION["language"] = "hindi"; 
    } 
} 

confirm_patient_logged_in(); // SHOULD WORK 

?> 

所以缺少session_start();是導致一個錯誤,但你無法看到錯誤可能display_error INI php.ini中被禁用,你都拿到網站沒有找到您的瀏覽器通知。

相關問題