2014-02-16 52 views
0

我想要一個$_SESSION價值,它只是在一個普通的頁面。如果我使用開關/外殼,我無法獲得該值。有人能幫助我嗎?

開關/箱:

switch($_GET['act']) 
    { 
     case 'login':      
       include('./include/login.php'); break; 
     case 'logout':      
       include('./include/logout.php'); break;  
     case 'help': 
       include('./include/help.php'); break; 
     case 'help2': 
       include('./include/help.php'); break;              
     case 'contact': 
       include('./include/contat.php'); break; 
     case 'admin': 
       include('./include/admin.php'); break; 
     case 'moderate': 
       include('./include/moderate.php'); break;     
     case 'check': 
       include('./include/check.php'); break;    
     case 'belevki': 
       include('./include/belevki.php'); break; 
     case 'register': 
       include('./include/register.php'); break;    
     case 'ls': 
       include('./include/ls.php'); break;  
     case 'los': 
       include('./include/los.php'); break; 
     case 'profile': 
       include('./include/profile.php'); break;   
     case 'srok': 
       include('./include/check1visrok.php'); break; 
     default: // разглеждане на index-a 
       include('./include/index.php'); 
    }   

這就是我想打從創建會話

$egn = $_POST['student']; 
    validegn($egn); 
$_SESSION['favcolor'] = $egn; 
header("location:../index.php"); 

的鏈接代碼,這是我想最後一頁當您通過header('location: ../index.php)做一個重定向到顯示值

$egn = $_SESSION['favcolor']; 
echo $_SESSION['favcolor']; 
+1

也許你需要在訪問var之前啓動會話? @session_start(); – Vygandas

+0

我有session_start();到處 – user3315719

回答

0

,你把所有的$ _GET v alues。這與$ _SESSION值和session_start()是分開的,即使您根本不使用會話,它也可以這樣工作。

在第一頁上,而不是做:

header("location:../index.php?act=help");' 

例如。這將保存您的GET參數,您的交換機將工作。您可能需要編寫一個動態創建重定向地址的函數。

在第二頁(其中有switch($_GET['act']),然後你會收到act參數

簡化和總結:

您現在session_start()switch()是你的情況看無關,因爲你在switch語句中使用$_GET。你只需要正確傳遞$_GET參數,那麼你就很好。

+0

我應該把它放在哪個頁面上,在頁面上生成值或頁面的開關或最後一頁應該使用的值? – user3315719

+0

嗨,我已經更新了我的答案。如果你需要別的東西,只需要給我寫一張便條。 – PeerBr

+0

你給我一個例子是一個問題,我應該如何把它們放在適當的位置?對不起,如果它是問題。 :( – user3315719