>  기사  >  백엔드 개발  >  PHP에서 세션을 등록하고 읽는 방법

PHP에서 세션을 등록하고 읽는 방법

伊谢尔伦
伊谢尔伦원래의
2017-04-26 11:42:133269검색

세션 등록

PHP에서 세션 변수를 사용하려면 시작하는 것 외에도 다음 단계를 거쳐야 합니다. a 등록 세션 변수를 등록하고 읽는 과정은 $_SESSION배열에 액세스하여 완료해야 합니다. PHP 4.1.0 버전부터 $_SESSION은 $_POST, $_GET, $_COOKIE 등과 같은 슈퍼 전역 배열이 되지만, session_start() 함수 를 호출하여 세션을 연 후에만 사용할 수 있습니다. . $HTTP_SESSION_VARS와 달리 $_SESSION에는 항상 전역 범위가 있으므로 $_SESSION과 함께 전역 키워드를 사용하지 마십시오. $_SESSION 연관 배열의 키 이름은 PHP의 일반 변수 이름과 동일한 명명 규칙을 갖습니다.

세션 변수가 생성되면 모두 $_SESSION 배열에 저장됩니다. $_SESSION 배열에서 세션 변수를 생성하는 것은 쉽습니다. 배열에 요소를 직접 추가하기만 하면 됩니다.

예를 들어 다음 예에서는 세션을 시작하고 세션 변수를 생성한 후 null 값을 할당합니다. 코드는 다음과 같습니다.

<?php
  session_start();                                       // 启动 Session
  $_SESSION[&#39;name&#39;] = null;                   // 声明一个名为 admin 的变量,并设置为空值 null。
?>

스크립트를 실행한 후 세션 변수는 서버 측 폴더에 저장됩니다. 파일의 위치는 php.ini 파일을 통해 변경되며, session.save_path 속성에 지정된 디렉터리에는 등록된 세션 변수를 저장하기 위해 해당 접근 사용자를 위한 별도의 파일이 생성됩니다. 예를 들어 세션 변수를 저장하는 파일 이름은 "sess_09403850rf7sk39s67" 형식입니다. 파일 이름에는 세션 ID가 포함되어 있으므로 액세스 사용자마다 서버에 세션 변수를 저장하는 고유한 파일이 있으며 이 파일은 다음과 같습니다. 직접 텍스트 편집기를 사용하여 엽니다. 파일의 내용 구조는 다음과 같습니다.

변수 이름 | 유형: 길이: 값                                                                                                       위에서 언급한 것처럼 간단한 예를 들어보세요.

<?php
  //启动 session
   session_start();
  //注册 session 变量,赋值为一个用户名称
  $_SESSION[&#39;usermane&#39;] = "sky";
  //注册 session 变量,赋值为一个用户id
  $_SESSION[&#39;uid&#39;] = 1;
?>

위의 예에서 Session은 두 개의 변수를 등록합니다. 이 사용자의 Session 변수를 저장하는 파일이 서버에 있으면 열면 다음 내용을 볼 수 있습니다.

username | s:6: "sky"; uid | i:1:"1"; 두 변수의 내용

세션 읽기

>

먼저 세션 변수가 있는지 확인해야 합니다. 세션 ID가 존재하지 않으면 이를 생성하고 이미 존재하는 경우 전역 배열 $_SESSION을 통해 액세스할 수 있도록 합니다. , 사용자가 사용할 생성된 세션 변수를 로드합니다.

예: 사용자 이름을 저장하는 세션 변수가 비어 있는지 확인합니다. 비어 있으면 $my_value에 세션 변수를 할당합니다. 코드는 다음과 같습니다.

<?php
  if(!empty($_SESSION[&#39;session_name&#39;])){       //判断存储用户名的  Session 会话变量是否为空
    $my_value = $_SESSION[&#39;session_name&#39;];     //将会话变量赋予一个变量 $my_value
  }
?>

위 내용은 PHP에서 세션을 등록하고 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.