먼저 세션의 개념을 소개하겠습니다.
소위 세션은 Microsoft에서 처음 제안하고 ASP에 처음 통합되었습니다. 세션의 채택으로 인해 웹 개발자의 작업이 크게 촉진됩니다. 한동안 ASP는 전 세계적으로 인기를 끌었습니다. 이제 php4에는 세션 지원도 추가되어 다시 한번 오픈 소스의 힘을 보여줍니다. 쿠키와 유사하게 세션은 http 프로토콜의 상태 비저장 문제를 해결하기 위해 방문 중에 서로 다른 페이지 간에 데이터를 전송하도록 설계되었지만 세션이 더 간단하고 안전합니다. 세션의 중국어 번역은 통일되어 있지 않습니다. 대화로 번역하는 것이 익숙합니다. 모든 사람은 세션의 의미를 명확하게 알고 있어야 합니다. 세션은 실제로 웹사이트를 탐색할 때 브라우저를 닫지 않고도 웹 애플리케이션의 시작이자 끝입니다. 세션에는 여러 http 요청과 응답이 포함될 수 있습니다. 예를 들어, freemail.263.net을 사용할 때 로그인부터 로그아웃 또는 시간 초과까지의 기간은 세션의 수명으로 간주됩니다. 생성된 각 세션에는 세션 ID라고 하는 고유한 식별 문자열이 있으며, 이 문자열은 서버 측에서도 생성됩니다. 또는 텍스트 파일에 넣을 수도 있습니다. 데이터베이스에서. 그런 다음 프로그램은 이 sessionID 아래에 일부 세션 변수를 등록할 수 있습니다. 이러한 변수는 일반 변수와 마찬가지로 텍스트나 숫자 정보를 저장할 수 있으며 Session을 통해 읽거나 쓸 수 있습니다. 세션의 고유 식별자는 일반적으로 시스템 내 고유 세션 ID이며 일반적으로 매우 긴 문자열입니다.
제기된 질문:
세션의 개념을 이해한 후, 내 유닛에 대한 구매, 판매 및 재고 시스템을 작성할 때 여러 사용자가 동시에 PHP 애플리케이션에 들어갈 수 있도록 허용해야 한다는 것을 알았습니다. 원래 설계된 정적 고유 세션 ID로 인해 데이터 혼란이 발생했습니다. 이러한 방식으로 고유한 세션 ID를 동적으로 생성하는 것이 최우선 과제가 됩니다.
해결책은 간단합니다. PHP 파일 이름과 타임스탬프를 고유 세션 ID로 사용하여 프로그램의 각 세션이 제자리에 있고 더 이상 혼란이 없도록 했습니다.
같은 문제를 겪고 있는 친구들이 해결책을 찾을 수 있도록 아래 소스 코드를 공개하겠습니다.
//변수를 보존하기 위해 PHP 세션을 시작합니다.
if (empty($mysessionname) ) {
$micro = microtime();
$micro = str_replace(" ","",$ micro); // 공백 제거
$micro = str_replace(".","",$micro) // 마침표 제거
$mysessionname = "po_maint" $micro; }
session_name ($mysessionname); Mysessionname은 세션이 시작되기 전에 이미 존재하므로 세션의 내부 변수 이름이 될 수 없습니다. 여러 세션이 원래 쿠키 파일을 덮어쓰게 되므로 Mysessionname은 쿠키 모드로 저장할 수 없습니다. 숨겨진 양식 필드를 사용하여 저장할 수 있습니다. 그러면 문제가 없을 것입니다. 토론을 위해 글을 쓰신 것을 환영합니다. 함께 더 잘해보자.
위에서는 PHP 서버를 소개했습니다. PHP 서버 콘텐츠를 포함하여 여러 개의 PHP 서버가 다중 세션 동시 작업을 실현할 수 있으므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.