2013-05-15 2 views
-2

정말 혼란 스럽습니다! 난 내가 페이지는 항상 일을하지만, 어제 내가이 CSS 규칙에 추가 한PHP 세션이 CSS 규칙과 충돌하는 것 같습니다.

<?php 

session_start(); 
if(!isLogged()) 
{ 
    header("location: mainarea.php"); 
    exit; 
} 

function isLogged() 
{return $_SESSION;} 

?> 

에 로그인 한 경우 그가하지 않은 메인 페이지로 리디렉션에 대한 사용자를이 스크립트를 배치하는이 PHP 파일을했습니다 동일한 PHP 파일 :

#deleteThumb 
{ 
    position:absolute; top:10px; right:10px; width:20px; height:40px; left:320px; 
} 

그리고 리다이렉션은 더 이상 작동하지 않을 것입니다 !!!! PHP 세션 컨트롤이 렌더링되기 전에 배치되는 모든 것, 이후에는 아무 것도 렌더링되지 않는 이유는 무엇입니까? PHP의 버그 인 것 같습니다. 다른 설명이 없습니다.

업데이트 : 스크립트의 첫 번째 줄에 세션을 배치하면 모두 돌아갑니다!

어쨌든 이것은 진짜 미스터리입니다 !! exemple에 대한 ,이 항상 일 :

<style> 
    #wrapper{width:1000px; margin-right:auto; margin-left:auto; padding-top:70px;} 
</style> 

    </head> 
    <body> 
    <?php session_start(); 
    if(!isLogged()) 
    { 
     header("location: mainarea.php"); 
     exit; 
    } 

    function isLogged() 
    {return $_SESSION;} ?> 

이 istead이

<style> 
    #wrapper{width:1000px; margin-right:auto; margin-left:auto; padding-top:70px;} 
    #deleteThumb{position:absolute; top:10px; right:10px; width:20px; height:40px; left:320px;} 
    </style> 

    </head> 
    <body> 
    <?php session_start(); 
    if(!isLogged()) 
    { 
     header("location: areanegozianti.php"); 
     exit; 
    } 

    function isLogged() 
    {return $_SESSION;} ?> 
+0

나는 모든 것을 반환하기 전에 CSS_ 규칙을 제거하면 모든 것이 올바르게 작동하기 때문에 – Sonia

+0

이 작동한다는 것을 분명히하고 싶습니다. – Sebas

+1

어디에서 추가 했습니까? – Barmar

답변

1

헤더 함수가 HTML이나 CSS 코드 앞에 보낼 수 있습니다 작동하지 않습니다. 예 :

<?php 
session_start(); 
if(!isLogged()) 
{ 
    header("location: mainarea.php"); 
    exit; 
} 

function isLogged() 
{return $_SESSION;} 
?> 

//css has to go below here 

<html> 
<head> 
    //styles should go here 
</head> 
<body> 
</body> 
</html> 
1

쿠키 기반 세션을 사용하고 있습니까? 쿠키 기반 세션을 사용하려면 브라우저에 아무것도 출력하기 전에 session_start()를 호출해야합니다.

+0

예, 세션 체크를하기 전에, 어쨌든 그것은 어쨌든 정말로 그 css 규칙이없는 미스터리이다.) 스크립트가 작동합니다 ...이 규칙을 추가하면 anymre가 작동하지 않습니다. – Sonia

관련 문제