2016-07-13 4 views
0

아래 코드는 삭제 된 버전입니다.세션 데이터를 읽을 수 없습니다.

세션을 search 함수로 설정하고 인쇄하여 설정을 확인하십시오. 우리 작품을 인쇄하십시오.

나는 다음 시도하고 search_results에서 세션을 읽고 아래의 오류가 표시됩니다 :

정의되지 않은 인덱스 : members_search

나는 내 인생은 내가 '무엇을 작동 할 수 없습니다에 대한 잘못하고있다.

도움을 주시면 감사하겠습니다.

<?php 

session_start(); 

class Cdwd_members { 

    public function search() 
    { 
     $results = '.........' 

     $_SESSION['members_search'] = $results; 

     print_r($_SESSION['members_search']); 
    } 

    public function search_results() 
    { 
     print_r($_SESSION['members_search']); 
    } 

} 
+0

session_start()를 제거합니다. 세션 _ 시작(); 상위 PHP 페이지에서 –

+0

귀하의 진술을 끝내시겠습니까? 세미콜론이 없습니다. – Jay

+0

수업을 어떻게 사용하고 있는지 코드를 보여줄 수 있습니까? – Martin

답변

0

은 모든 방법이 아니라 스크립트 상단에 위치해야합니다.

<?php 태그 바로 뒤에 넣으십시오.

+0

감사합니다. – ccdavies

0

시도해보십시오. session_start();

<?php 
    session_start(); 
    class Cdwd_members { 

     public function search() 
     { 
      $results = 'my';   

      $_SESSION['members_search'] = $results; 

      print_r($_SESSION['members_search']); 
     } 

     public function search_results() 
     { 
      print_r($_SESSION['members_search']); 
     } 

    } 
    $n = new Cdwd_members; 
    $n->search(); 
    $n->search_results(); 
0

시도가 클래스를 포함하기 전에

start_session

을 배치하거나 코드가 무엇을 할 것 인 제일 먼저로 배치 할 페이지의 상단에있을 shlould .

이 클래스가 세션을 사용하는 유일한 장소 인 경우 생성자를 사용할 수도 있습니다. 생성자는 인스턴스가 생성 될 때 클래스가 자동으로 수행하는 첫 번째 작업입니다.

function __construct(){ 
    session_start(); 
} 

Constructor & destructors PHP Docs

0

나는 많은 OOP를하지 않습니다하지만 당신이 시도하고 작동하는지 확인할 수 있습니다. function search()에서 대신 print_r($_SESSION['members_search'])의 검색 메소드를 호출 할 때, 아마도 당신은 'search_results'전에 '검색'호출해야 저장이 print_r(search());

0
$n = new Cdwd_members; 
$n->search_results(); 

당신 세션과 print_r를 교체 function search_results() 대신 return $_SESSION['members_search'] 다음을 시도?

0
  1. 만약; 코드에서 9 행에 누락 된 코드를 추가하십시오.
  2. search_results()를 호출하기 전에 function search()를 호출해야합니다. 또는 search() 내에서 search_results()를 호출하여 세션을 설정할 수 있습니다.
관련 문제