문제

내가 건축 POP3 사서함 PHP.내가 다음 :

  • server_access.php (fetch 메일은 POP3 서버에서)
  • data_access.php (가져오는/쓰기 우편을 로컬 DB)
  • mime_parser.php (구문 분석하는 MIME 내용)
  • core.php (사용하여 위에 파일을 저장 분석메일로 assoc 라는 배열$함)

지금,나는 페이지 사서함이 있습니다.php 을 표시함과 showmail.php 각 메일입니다.사용자의 자격에 저장됩니다.ini 파일로 사용되는 필요합니다.것,내가 할 require_once('core.php')에서 모두 mailbox.php 고서 showmail.php

나를 표시할 수 있함(ie.$받은 값이 있는)경우에,그러나 나는 선택을 읽 mail(팝업 창의 showmail.php 다),$함 빈 배열입니다.

$함으로 정의하는 정적에서 배열 core.php

도움이 되었습니까?

해결책

정적 데이터는 정적 컨텍스트 내에서의 클래스를 의미하는 정적 데이터 멤버 클래스에서는 공유하여 모든 해당 클래스의 인스턴스.

당신이 무엇을 것에 대해 이야기가 유지하는 데이터는 여러 HTTP 요청합니다.정적 데이터렇게 하지 않습니다.는 무엇$_SESSION 데이터입니다.

다른 방법을 넣어:면 스크립트가 완료 서비스의 현재 요청,그것은 완전히 죽습니다.모든 데이터를 했다는 것은 완전히 치워버릴 수 있었다.새로운 요청 시작한다.

세션 데이터를 때까지 지속 PHP 결정 그것을 정리하거나 당신 수동으로 그것을 파괴한다.일반적으로 당신이해야 할 모든 세션을 사용하는 데이터에서 스크립트:

Script1:mailbox.php

session_start();
$_SESSION['mailbox'] = array( /* messages */ );

스크립트는 2:showmail.php

session_start();
$mailbox = $_SESSION['mailbox'];

한가지 유의할 사항:는 경우 스크립트는 긴-실행하려고 하와를 넣어 session_commit()에서 가능한 한 빨리기 때문에 세션 액세스 블록 PHP 에서 의미하는 경우 다른 스크립트로 session_start()동일한 사용자에 대해 그 차단까지 스크립트가 완료되면을 실행하거나 해제합니다.

다른 팁

PHP 세션은 요청간에 세션 데이터를 저장할 장소가 필요합니다. 귀하의 경우에는 홈 디렉토리의 Temp Php Session 폴더입니다. 유효한 디렉토리를 가리 키려면 해당 폴더를 만들거나 session.save_path를 변경하십시오.

당신의 경우 core 파일은 mailbox.php에 올바른 데이터를 제공하지만 showmail.php는 showmail.php에서 수행하는 것과 관련이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top