다른 페이지를 방문하려면 로그인해야하는 사이트를 만들었습니다. 특별한 것은 없습니다. 사용자를 로그인 상태로 유지하려면 모든 페이지 상단에 세션을 설정하고 있습니다.
제 문제는 각 페이지의 상단에 다른 세션 변수를 설정하고 싶지 않다는 것입니다. 차라리 한 가지 기능을 설정하여 설정할 수 있습니다. 또한 각 페이지에서 모든 변수가 필요하지 않으므로 전자 메일 또는 모든 페이지에서 사용되지 않는 프로필 그림과 같은 선택적 매개 변수를 허용하는 기능을 원합니다. 내가 좋아하는 것
<?php
require_once 'session.php';
confirm_logged_in();
$username = $_SESSION['username'];
$email = $_SESSION['email'];
$picture = $_SESSION['picture'];
$group = $_SESSION['group'];
?>
이 더 같이하고 내가 필요한 변수 만 설정 할 수 있도록 :
<?php
require_once 'session.php';
confirm_logged_in();
set_variables($username, $email);
?>
'세션을
나는 각 페이지의 상단에이 전화 .php '파일은 다음과 같습니다 :
<?php
session_start();
function logged_in(){
return isset($_SESSION['username']);
}
function confirm_logged_in(){
if(!logged_in()){
header('location: start.php');
}
}
?>
나는 몇 가지 시도를했지만 방금 막대한 양의 오류가 발생했습니다. 누군가 이미이 작업을 수행했거나이를 수행하는 스크립트를 발견 했습니까? 그게 가능하니?
질문에 표시되는 오류를 추가하십시오. – Ray
그럼 오류는 무엇입니까? – Shades88
'$ _SESSION'에서 변수를 같은 이름의 전역 또는 로컬 변수로 추출해야합니까? 왜 그냥 세션을 사용하지 않습니까?슈퍼 글로벌 (superglobal)이라는 특성상 모든 범위에서 사용할 수 있습니다. 대신에'$ email = $ _SESSION [ 'email']; echo $ email;'그냥 세션을 직접 사용하지 않는 이유'echo $ _SESSION [ 'email'];'어떤 로컬로드를로드하는지에 대한 문제를 완전히 회피합니다. 또한, 전역 변수의 변경 사항을'$ _SESSION'으로 다시 동기화해야하는 번거 로움을 덜어줍니다. –