2014-09-12 10 views
0

현재 코드 점화기를 사용 중이며 동시에 2 개의 쿠키를 삽입하는 데 문제가 있습니다. 내가 뭔가 잘못하고코드 이그나이터는 하나 이상의 쿠키를 삽입 할 수 없습니다

$cookie = array(
     'name' => '__ncookie', 
     'value' => json_encode(array("fr" => 0, "dc"=> 0,"cor"=> 0)), 
     'expire' => '86500', 
     'secure' => false 
    ); 
    $this->input->set_cookie($cookie); 
    $chat = array(
     'name' => '__nsgs', 
     'value' => json_encode($this->mchat->get_unread()), 
     'expire' => '86500', 
     'secure' => false 
    ); 
    $this->input->set_cookie($chat);// when var_dump = NULL 

WarningCannot modify header information - headers already sent by (output started at C:\xampp\htdocs\onyx_agent\application\controllers\clogin.php:59)core/Input.php286 

암 : 여기 내 코드?

+0

어쩌면 당신의'cookie'이 최대 크기 이상 다른 해결책을 생각해야합니다? http://stackoverflow.com/questions/640938/what-is-the-maximum-size-of-a-web-browsers-cookies-key – tomexsans

+0

아, 아마도 json의 긴 문자열을 채팅에 저장하려고합니다. [ 'value'] .. 당신이 제안 할 수있는 해결 방법은 무엇입니까? – loki9

+0

쿠키가 필요한 것에 따라 세션을 대체하는 것이 좋습니다. – Patrick

답변

1

나는 이것을 주석으로 쓸 예정 이었지만, 너무 길어지고 있었다.

다른 웹 사이트에 정보를 전달해야하는 경우, 예를 들어 사용자가 어디를 방문했는지, 어디에서 왔는지 추적 할 수 있습니다 (예 : 사용자가 귀하의 웹 사이트를 방문한 광고 캠페인을 추적).

세션은 자신의 서버에서 내부적으로 사용됩니다. 즉, 웹 사이트 A의 세션은 일반적으로 웹 사이트 B에서 사용할 수 없습니다. 자신의 웹 사이트에서 사용하기 위해 쿠키/세션을 저장하고 있고 저장할 정보가 많으면 데이터베이스 테이블을 사용하여 세션을 보내고 클라이언트에게 세션 ID를 제공하면됩니다.

그래서 귀하의 웹 사이트에 접속하면 쿠키/세션 ID 42를 내 사용자에게 할당합니다 (이 시점에서 쿠키는 세션이나 쿠키가 중요하지 않습니다). 브라우저에서 http 요청을 보낼 때 웹 사이트보기, 쿠키/세션을 전달합니다. 그런 다음 ID를 사용하여 SQL 쿼리를 실행하고 내 사용자의 모든 맛있는 데이터를 얻을 수 있습니다. 이 모든 데이터를 다른 웹 사이트에서 사용 할 필요가있는 경우

그러나, 당신은

+0

고마워, 나는이 문제에 대한 다른 해결책을 만들었다. 매우 유익한 tho. – loki9