2013-10-02 4 views
1

걸쳐 작동되지 : 세션 변수는 다른 페이지

session_start(); 
$_SESSION['Username'] = $_POST["Username"]; 

if(isset($_SESSION['Username'])) 
    $loginTrue = 1; 
else 
    $loginTrue = 0; 

난이

추가 한 상부 매 페이지

<?php 
session_start();   //this was added after seeing many suggestions in stack overflow that session_start() has to be called at the top on each page. Though i tot calling once was sufficient. 
if(isset($_SESSION['Username'])) 
    $loginTrue = 1; 
else 
    $loginTrue = 0; 
?> 

이제 login.php에서 로그인 한 후 내 페이지를 리디렉션 할 때마다 $ _SESSION [ 'Username']이 설정되지 않은 경우 어떻게되는지 알 수 없습니다. 버튼을 클릭하여 리디렉션합니다. onclick은 window.location = home.php를 실행합니다.

+0

$ _POST [ "Username"]이 비어 있어도 될까요? $ _POST [ 'Username']을 사용해보십시오. – Maximus2012

+0

POST를 수신중인 페이지에서'print_r ($ _ POST)'가 비어 있지 않은지 확인하십시오. –

+0

아니요. $ _SESSION [ 'Username']을 인쇄하면 완벽하게 정상적으로 인쇄됩니다. 로그인 한 페이지 $ loginTrue는 내가 로그인 할 때마다 1이됩니다. 다시 리디렉션 할 때마다 재설정 될 때마다 0이됩니다. 리디렉션 링크 (예 : window.location = "http : // localhost : 8080/home.php")와 같은 문자가 있습니까? 나는 강제로 http를 사용해야합니까 ??? btw이 심지어 작동하지 않았다. 나는 그냥 알고 싶었어!!! – ebdo

답변

0

괜찮 았던 분들. 나는 어떻게했는지 나는 모른다. 먼저 4 개의 웹 페이지를 만들었습니다. 세션 변수가 지원되는지 확인하기위한 작은 웹 페이지입니다. 일단 내가 이것을 확인하면 나는 아래 작업을 시작한 나의 원래 웹 페이지 작업 시작은 모든 페이지 상단에서 매우 중요합니다. 또한 여러 브라우저에서 세션 활동을 시도하십시오. 또한 드림위버를 닫음으로 확인하십시오. 또한 확인하는 대신 전환 및 재료의 사용하고 또한 세션 시작이 DOCTYPE html로 선언 앞에 오는

1

이 일부 오류가 페이지

<?php 
ini_set('display_errors',1); 
error_reporting(E_ALL); 
?> 

에있을 수 있습니다,이 코드를 사용하여 코드를 확인 령 어 아니다 그리고 php.ini 설정을 확인하십시오.

다른 브라우저로 코드를 확인하십시오.

그리고 빈 출력은 세션 시작 전에 페이지에 있어야합니다.

관련 문제