2014-02-16 2 views
0

$_SESSION 값을 만들고 싶습니다. 정상적인 페이지에서만 값을 지정합니다. 스위치/케이스를 사용하면 값을 얻을 수 없습니다. 누군가 나를 도울 수 있습니까?

스위치/케이스 : 이것은 세션

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

의 창조에서 링크를 만들려는 코드가이 내가 할 마지막 페이지입니다

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'); 
    }   

당신이 header('location: ../index.php)를 통해 리디렉션을 수행 할 때 값

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

아마도 var에 액세스하기 전에 세션을 시작해야합니까? @session_start(); – Vygandas

+0

나는 session_start()를 가지고있다; 어디 에나 – user3315719

답변

0

을 표시하려면, 당신은 모든 $ _GET V 드롭 고백한다. 이 값은 $ _SESSION 값과는 별도로 session_start()이므로 세션을 전혀 사용하지 않아도 작동합니다. 첫 번째 페이지에서

대신 수행

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

예를 들어. 이렇게하면 GET 매개 변수가 보존되어 스위치가 작동합니다. 리디렉션 주소를 동적으로 만드는 함수를 작성하고자 할 수 있습니다. 두 번째 페이지 (에

switch($_GET['act'])이있는, 당신은 다음 act 매개 변수를 받게됩니다

을 단순화하고 합산 :. session_start()

  • $_GET가있는 값이 포함됩니다 후

    • $_SESSION를 사용할 수 이전 페이지가 URL을 통해 전달되었습니다. 예 : http://foo.com?firstParam=1&secondParam=2
    • $_POST<form method='post'>...</form>을 통해 전송 된 값을 포함합니다. 당신이 switch 문에서 $_GET을 사용하기 때문에

    당신은 지금 session_start()switch()가 귀하의 경우와 관련이없는 것을 알 수있다. $_GET 매개 변수를 올바르게 전달하면됩니다.

  • +0

    스위치를 사용하여 값 또는 페이지를 생성하는 페이지 또는 값을 사용해야하는 마지막 페이지에 어디에 넣어야합니까? – user3315719

    +0

    안녕하세요, 저는 답변을 업데이트했습니다. 다른 것이 필요한 경우 메모 만 남겨주세요. – PeerBr

    +0

    내가 그들을 제자리에 놓아야하는 예를 내게주는 것이 문제입니까? 죄송합니다. 문제가 있다면. :( – user3315719