제목 | session질문 | ||
---|---|---|---|
글쓴이 | pillar | 작성시각 | 2010/07/15 12:40:50 |
|
|||
session에러 질문드립니다 autoload에 세션 넣고 세션DB도 config에서 적어주고 controller의 펑신에서 $this->session->set_flashdata('category', $category);했는데요 A PHP Error was encounteredSeverity: Warning Message: Cannot modify header information - headers already sent by (output started at C:\APM_Setup\htdocs\www\application\controllers\member\join.php:65) Filename: libraries/Session.php Line Number: 672 join.php, Session.php 바이너리로 열어서 앞에 공백코드 없는거 확인했고요. 한가지 더 알고픈데 set_userdata 여러번 쓸수 있나용..워낙 왕초보라서^^ 고수님들 많이 기대합니다. |
|||
태그 | session | ||
다음글 | ez_sql CI에 넣어서 사용하시는 분... (2) | ||
이전글 | 마냐님의 Pagination 일반형 수정에 관한 질문입... (4) | ||
변종원(웅파)
/
2010/07/15 12:59:21 /
추천
0
|
pillar
/
2010/07/16 08:59:51 /
추천
0
웅파님 말씀대로 $this->session->set_flashdata전에 print_r()했었네요.
고놈 삭제하니 정말 에러출력 없어졌어요.ㅇㅇ 헌데 $category = $this->uri->segment(4); $this->session->set_userdata('category', $category); 하였는데 세션테이블에 다른 값이 들어가네요. 분명 $category에는 1이 들어갔는데 세션테이블에는 0이 들어갑니다. 암만 봐도 다른데선 $category하고 세션테이블에 써넣기 하는데가 없는데... 이건 와 그럴가요 |
변종원(웅파)
/
2010/07/16 10:43:08 /
추천
0
$this->uri->segment(4);
이 값을 찍어봐도 그런지요? 가끔 순서가 헷갈릴 수도 있습니다. 그리고 세션을 db에 저장을 할때는 사용자가 생성한 데이터는 user_data라는 필드에 serialize화해서 들어갈 겁니다. db의 내용 직접 보시려면 unserialize 하셔야 합니다. |
pillar
/
2010/07/16 13:22:17 /
추천
0
function agree(){
$joinType = $this->uri->segment(4); //세그먼트로 1이 넘어옴. $this->session->set_userdata('category', $joinType); $category = $this->session->userdata('category'); print_r($category); // 1이 출력됨, 헌데 요때 DB보면 0 들어가있넹!!! $this->load->view('goods/agree'); } function name() { $data['category'] = $this->session->userdata('category'); print_r($data['category']);//0이 출력 $this->load->view('goods/name', $data); } 그런뎅 agree페이지 현시후 name호출전에 DB에서 세션테이블의 user_data필드 보면 a:1:{s:8:"category";s:1:"0";} 당연히 name에서는 0이 출력되는게고. 다른데선 절대 set_userdata하는 넘 없는데...ㅇㅇ 무슨 감툰지 정말 모르겠네요. ^^ 그리고 serialize, unserialize는 잘 모르겠지만 여기 관계없을듯 한데.. |
pillar
/
2010/07/16 18:03:53 /
추천
0
$joinType = $this->uri->segment(4);
if($joinType == '0'){ $this->session->set_userdata('category', 0); }elseif($joinType == '1'){ $this->session->set_userdata('category', 1); }elseif($joinType == '2'){ $this->session->set_userdata('category', 2); } 요렇게 하니 세션테이블에 정확한 값이 들어가네요...ㅇㅇ 이거 $this->uri->segment(4);때문인지 아님은 $this->session->set_userdata때문인지 정말 모르겠넨. 고수님들 해명 기대합니다 |
무조건 위와 같은 에러가 납니다. 공백뿐만이 아니라 echo 출력이 있는지도 살펴보세요.
join.php 65라인..
set_userdata <- 세션 만들고 싶으시면 만들면 됩니다. ci라고 php에서 세션 사용하는 것과 다를 것 없습니다.