2009-09-09 3 views
2

나는 새 세션을 시작 : 나는 몇 가지 세션이 같은 변수를 설정 한 후 session_start(); :.으로 session_start이 작동하지 않습니다 :(으로

$_SESSION['name']=$_POST['name']; 

일부 다른 변수를

을 내가 설정 페이지의 맨 아래 다른 페이지로 헤더 :.

이제
header('location: index.php'); 
exit(); 

새 페이지 (index.php를) 내가 $_SESSION['name']처럼, 내 세션 변수에 액세스 할 수있는

무엇이 잘못 되었나요?

감사합니다.

답변

7

작성한 $_SESSION 변수에 액세스하려는 다른 페이지에서 session_start()을 호출하고 있습니까? 당신이 PHP, HTTP의 알려진 문제, 또는 누구든지 당신이 비난 할 :

session_start(); 
$blah = $_SESSION['blah']; 
4

, 아무것도 읽을 수하기 전에 너무 그렇게 예컨대이 필요합니다. 기본적으로 은 동일한 요청으로 HTTP를 사용하여 쿠키를 설정하고 리디렉션 할 수 없습니다.. 아직 생성되지 않은 세션을 시작할 때 쿠키를 보내고 있습니다.

두 가지 옵션 :

    다른 곳 세션을 시작
  1. , 또는
  2. 전송하거나 리디렉션을 강제로 자바 스크립트, 또는 메타 태그를 사용합니다.

예 :

<?php /* set session cookies */ ?> 
<script>window.location.replace("index.php");</script> 
+1

세션 바르 쿠키 아니지만, 세션 ID입니다. 이미 다른 스크립트에서 세션을 시작한만큼 원하는 모든 세션 바를 설정할 수 있습니다. – davethegr8

+0

예, 정확하게 답변을 업데이트했습니다. – carl