CI 묻고 답하기

제목 jquery Ajax를 통한 session값 저장 관련해서 질문 드립니다.
글쓴이 Kaus 작성시각 2014/07/11 13:55:21
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 25099   RSS
기존에 jquery ajax 를 통해서 다른 php 파일을 실행을 시키고 실행된 결과를 session에 저장하게 되는데

$_SESSION[????] = "abc"; 다음과 같이 쉽게 결과를 담을수 있습니다.

CI를 사용하면 ajax를 통해 로드된 php파일 내에서 session 라이브러리를 로드하고 

기존에 저장하듯이 하는게 맞는건지...

아니면 다른 방법이 있는지 알고싶습니다.

프레임워크를 사용하니... 문제가 생기면 잘모르겠네요.. 날코딩이 편하긴한데... 코딩량이 너무많아서

CI를 사용하려고 하는데... 어렵네요..ㅠㅠ 
 다음글 혹시 PDO사용하시는분 계신가요? (3)
 이전글 CI 컨트롤러에서 스크립트 메소드 호출 (1)

댓글

변종원(웅파) / 2014/07/11 14:35:07 / 추천 0
codeigniter를 쓴다고 해서 기존 php 문법이나 로직이 바뀌는 것은 아닙니다. ^^

보통 웹프로그램에서 세션은 자동로드하여 사용합니다. ci문법에 맞게 세션 저장하시면 됩니다.
Kaus / 2014/07/11 14:58:18 / 추천 0
jquery ajax를 통해 호출한 php 파일에서 다음과 같이 그냥 session 저장하면되나요?? session은 오토로딩항목에 속해있는데..
$newdata = array(
                    'LOGINID'  => $xx,
                    'NICKNAME'     => $xxx,
                    'LOGINEMAIL' => $xxxx,
                    'LOGINCK' => true
                );
                $this->session->set_userdata($newdata);
그렇다고 $_SESSION[LOGINID] 이런식으로 사용해야되나요??
슘님 / 2014/07/11 15:04:26 / 추천 0
네 그렇게 하시면 됩니다. 
Kaus / 2014/07/11 15:21:59 / 추천 0
<?php
    header("Content-Type: text/html; charset=UTF-8"); 
    
    $x= $_POST['id'];
    $xx= $_POST['name'];
    $sns = $_POST['sns'];
    $xxx= $_POST['email'];

    if($sns == 'facebook'){
        include_once "./Config.php";
        $sql ="select LoginID from te where LoginID = '$x'";
        $result = mysql_query($sql);
        $num = mysql_num_rows($result);
        $location = "";
        if($num < 1){
            $sql = "insert into te (LoginID, LoginIDNickName, LoginIDEmail ) values ('$x', '$xx', '$xxx')";
            if(mysql_query($sql)){
                $newdata = array(
                    'LOGINID'  => $x,
                    'NICKNAME'     => $xx,
                    'LOGINEMAIL' => $xxx,
                    'LOGINCK' => true
                );
                $this->session->set_userdata($newdata);
                //suss
            }
        }else{
            $newdata = array(
                    'LOGINID'  => $x,
                    'NICKNAME'     => $xx,
                    'LOGINEMAIL' => $xxx,
                    'LOGINCK' => true
            );
            $this->session->set_userdata($newdata);
        }
        mysql_close($connect);
    }
?>

위와같은 코드가 jquery ajax 로 호출되는 php 파일의 내용인데 저렇게만해도 세션저장이되나요....?

세선값이 없어서...흐음... 틀린방법인가요?
변종원(웅파) / 2014/07/11 15:29:21 / 추천 0
세션값이 저장됐는지는 바로 출력해보시면 알겠죠? ^^

echo $this->session->userdata('LOGINID');

http://cikorea.net/user_guide_2.1.0/libraries/sessions.html 
매뉴얼 한번 더 보세요.
Kaus / 2014/07/17 11:56:29 / 추천 0
기존에 php 날코딩 하던 방법으로 ajax를 하다보니 방법에 혼란이 왔던거 같습니다.

답달아주신 분들 감사합니다. CI로 하는 첫프로젝트다보니... 머리속이 혼란스럽네요..

다시한번 감사드립니다.