php에서 SESSION에 object 저장하기

2014. 2. 13. 18:08 from Dev/php

가끔 DB에 넣고 꺼내고 하기 귀찮기도 하고, 유저가 작업하면서 수정한다거나 하는 일이 잦다면 DB에 넣었다 수정했다 지웠다 하느니 session에 넣어두었다가 다시 꺼내면 유용합니다. 

간단히는 인스턴스 자체를 그냥 serialize($obj) 로 했다가 다시 unserialize 해주는 거지요. 


인스턴스 A를 넣었다가 꺼내보겠습니다 :

<?php
// ... class 정의는 따로 있다고 칩니다 ...
session_start();
include('A.php');
// ...
$a = new A;
$_SESSION["myA"] = serialize($a);
?>


꺼낼 때는 :

<?php
session_start();
include('A.php');
if (isset($_SESSION["myA"]) {
   echo "A was found...";
   $a = unserialize($_SESSION["myA"]);
   var_dump($a);
} else {
   echo "A was not found in the session.";
}
?>


이러면 됩니다. 주의할 점은

  1. 당연히 session_start(); 가 되어야 하고,
  2. 꺼내고 넣고 할 클래스에 대한 정의가 양쪽 페이지에 다 있어야 합니다. 그렇지 않으면 SESSION 오류로 처리됨...

여기까지입니다. 


Posted by banasun :

php - mySql 한글 깨짐 현상

2014. 2. 12. 18:32 from Dev/php

간만에  php로 작업하다 보니 한글이 깨지네요. ㅡㅡ;;

제 서버도 아니라 설정을 바꾸고 어쩌고 할 수도 없고, PHP 버전이 낮아도 새로 깔수도 없고 해서 1시간 정도 헤매다 성공!!

이놈의 한글 문제는 십년 전이나 지금이나 변함이 없다는 게 참.. 미국서 태어났어야 하는 건가;;


PHP version 5.3.6 이전)

<?php

// ...

$dbh = new PDO($dsn, $user, $pw);

$dbh->exec("set names utf8");

// ...

?>

Posted by banasun :

mac에서 ssh 이용하기

2013. 10. 30. 15:40 from Tip for Mac Users

의외로 물어보는 사람이 많은 질문.. 


terminal에서 

ssh [user]@[server]

접속 후 패스워드.. 끝.

Posted by banasun :