6월 5일 번개!!!

2번의 연기끝에 드디어 번개를~~~ 이번엔 연기없음. 1명 와도 그냥 함.

일시 2003년 6월 5일 목요일 저녁 7시반.
(일찍 올 수 있는 사람은 일찍 와서 놀고 있어도 됨)

장소 우리집~~ (약도 참고)
버스노선 일산가구공단 지나서 야당리(일산직업전문학교) 하차

77-3(이마트)
18(주엽역)
567(원당역)
8(이마트)
158-5
907
803

오는 방법 (버스에서 내려서 10분도 안걸림)
일산 장애인 직업전문학교에서 내려달라고 하고 약도대로 오면 됨.
철길 건너 마을 들어오면 붉은색 청원오리집 간판이 보이고 오리집 지나 Y자 삼거리에서
좌회전. 마을회관 옆 골목으로 들어오면 막다른 골목끝 1층집이 우리집!!

회비 없음. 대신 두손은 무겁게..

약도는 클릭하면 큰 그림으로 볼 수 있음.

내 손폰 019-254-2827, 집 031-949-2587

@@@ 올 수 있는 사람은 리플 달아주길~~ (밥솥이 작어서리.. ㅋㅋ) @@@

mysql_fetch_object 객체 활용하기

글쓴이:우수한

mysql_fetch_object로 쿼리를 던지면, 그 결과 오브젝트(객체)를 받아오게 됩니다.
이것이 어떻게 프로그래밍을 간편하게 만들어주는지 살펴보도록 하겠습니다.

—– [1단계: 기초] —–

자, 다음과 같은 테이블이 있다고 합시다.
CREATE TABLE users (
id varchar(10) not null,
name varchar(10) not null,
addr varchar(30) not null,
phone varchar(14) not null,
PRIMARY KEY (id)
);
INSERT INTO users VALUES (“test”, “아무개”, “서울”, “02-123-4567”);

여기서는 편의상 DB 클래스를 사용하겠습니다. (하지만 DB클래스가 중요한 것은 아닙니다.)
DB->fetch()라는 함수는 mysql_fetch_object()를 뜻한다는 것만 아시면 됩니다.

$DB->query(“SELECT id, name, addr, phone FROM users WHERE id=’test’ “);
$user = $DB->fetch();
위와 같은 코드를 실행하면, 그 결과 $user->id 에는 “test”, $user->name 에는 “아무개” 등의 값이 들어있는 것을 확인하실 수 있습니다.

자, 그럼 위의 기능을 함수로 만들어보겠습니다.
function load_user($id) {
$SQL = ” SELECT * FROM users WHERE id=’$id’ “;
$DB =& DB::getInstance();
$DB->query($SQL);
return $DB->fetch();
}
이제 회원정보를 읽어올때 $user = load_user(“test”); 라고 하면 끝입니다.
회원정보를 변경할 수 있는 폼을 출력할때
에 배치하는 팁앤텍

앨리수입니다~

처음 들렀네요.

다음 주에 집들이 하신다고..?

5일이면 희경이랑 함께 갈 수 있을 것도 같아요.

‘숲속의 섬’ 은 그대로 있고,

앨리수만 서울로 이사를 갔습니다.

벌써 작년 10월 이야기네요..

요즘은 몸이 안 좋아 백수로 돌아 갔고,

일산 집에도 자주 들러요.

달라진 건,,

예전보다는 좀 많이 들어 보이고.. <- 다~ 몸이 아파 생긴 주름들이랍니다. T_T'' 술을 삼가하게 되었고.. <- 그저, 건강이 제일이죠~ 사랑하는 사람이 생겼고.. ^^” 뭐, 그 정도네요. 그때 그 사람들.. 다들 어디서 무얼 하고 있을까요? 궁금하네요.. 참~ 종목옹은 어디 계셔요~? 여기도 안 보이시고.. 보고싶어요~ * ## A*SSA ##

디비로 세션관리 및 중복로그인 방지

sugar01
http://prospect.new21.net

회원테이블에 테스트용으로 아이디 ‘test’ 비밀번호 ‘test’ 인 데이터를 하나 넣었습니다.
###########회원 테이블###########
CREATE TABLE sugar_member (
num int(4) unsigned NOT NULL auto_increment,
id char(20) NOT NULL default ”,
passwd char(20) NOT NULL default ”,
PRIMARY KEY (num)
) TYPE=MyISAM;

INSERT INTO sugar_member VALUES(”,’test’,password(‘test’));

##########세션 관리 테이블###################
CREATE TABLE sugar_session4 (
uid varchar(32) NOT NULL default ‘0’,
sess_key varchar(32) NOT NULL default ”, //세션키
last_log int(11) unsigned NOT NULL default ‘0’,
last_ip varchar(15) NOT NULL default ”,
sess_value text NOT NULL, //세션값, 로그인 하게되면 저장되는 정보
attack int(2) NOT NULL default ‘0’, //로그인후 다른 아이피에서 로그인 하려 하면 증가
KEY sess_key (sess_key)
) TYPE=MyISAM;

#######config.php#########
$localhost=localhost;
$user_name=””; //디비 사용이름
$db_passwd=””; //디비 패스워드
$db_name=””; //디비 이름

$connect=mysql_connect(“$localhost”,”$user_name”,”$db_passwd”) or die(“SQL server에 연결할수 없습니다.”);
mysql_select_db(“$db_name”,$connect);
?>
#########sess_test.php#################

include “config.php”;

session_cache_limiter(”);
session_set_save_handler(“sess_open”, “sess_close”, “sess_read”, “sess_write”, “sess_destroy”, “sess_gc”);
session_start();
//echo”_SESSION[sess_id] = $_SESSION[sess_id]
“;
$time=time();
//echo”time= $time
“;

function sess_open($save_path, $session_name) {
//echo”sess_open save_path = $save_path session_name= $session_name

“;
return 1;
}

function sess_read($key) {
//echo”sess_read key = $key

“;
$query=mysql_query(“SELECT sess_value FROM sugar_session4 WHERE sess_key = ‘$key’ AND last_log > ‘”.(time()-get_cfg_var(“session.gc_maxlifetime”)).”‘ “) or die(mysql_error());
$row=mysql_fetch_array($query);
return $row[0];
}

function sess_write($key, $value) {
//echo”sess_write key = $key value=$value

“;
$query=mysql_query(“SELECT * FROM sugar_session4 WHERE sess_key=’$key’AND sess_value IS NOT NULL”) or die(mysql_error());
$time=time();
$check=mysql_num_rows($query);
//echo”check = $check
“;
if(mysql_num_rows($query)==0) //새로 로그인 하려는 경우
{
if($value!=””)
{
$uid=$GLOBALS[‘sess_id’];
//로그아웃 하지 않고 창을 닫아서 사이트를 나가고 다시 로그인 하려는 경우
$query=mysql_query(“SELECT sess_value from sugar_session4 WHERE uid=’$uid’ AND last_ip='”.$_SERVER[“REMOTE_ADDR”].”‘”) or die(mysql_error());

if(mysql_num_rows($query))
{
mysql_query(“UPDATE sugar_session4 SET sess_key=’$key’,last_log='”.time().”‘, last_ip='”.$_SERVER[“REMOTE_ADDR”].”‘, sess_value=’$value’ WHERE uid=’$uid'”) or die(mysql_error());
echo”“;
}

else //로그아웃 하고 나가서 다시 로그인 하려는 경우
{
//다른 아이피로 접근 하려는 경우
$query=mysql_query(“SELECT sess_value FROM sugar_session4 WHERE uid=’$uid’ AND last_ip!='”.$_SERVER[“REMOTE_ADDR”].”‘”) or die (mysql_error());
if(mysql_num_rows($query))
{
$query=mysql_query(“UPDATE sugar_session4 SET attack=attack+1 WHERE uid=’$uid’ AND last_ip!='”.$_SERVER[“REMOTE_ADDR”].”‘”) or die (mysql_error());

echo(“
“);

}
else //순수히 새로 로그인 하려는 경우
{
$query=”INSERT INTO sugar_session4 VALUES(‘$uid’,’$key’,’$time’,'”.$_SERVER[“REMOTE_ADDR”].”‘,’$value’,”)”;

mysql_query($query) or die(mysql_error());
echo”“;
}
}
}

}

else// 계속 로그인 해져있는상태
{
$query=mysql_query(“SELECT attack FROM sugar_session4 WHERE sess_key=’$key'”);
$row=mysql_fetch_array($query);
if($row[attack]!=0) echo” $row[attack] 번 다른곳에서 접속 시도가 있었습니다
“;
mysql_query(“UPDATE sugar_session4 SET last_log='”.time().”‘, last_ip='”.$_SERVER[“REMOTE_ADDR”].”‘, sess_value=’$value’ WHERE sess_key=’$key’ “) or die(mysql_error());

}

return true;
}

function sess_close() {
return 1;
}

function sess_destroy($key) {
//echo”sess_destroy key=$key

“;
$query=mysql_query(“DELETE FROM sugar_session4 WHERE sess_key=’$key'”) or die(mysql_error());
}

function sess_gc($lifetime) {
//echo”sess_gc lifetim=$lifetime
“;
mysql_query(“DELETE FROM sugar_session4 WHERE last_log<".time()) or die(mysql_error());
return true;
}

?>

###################login.php###############
include”sess_test.php”;
echo(“



“);

if($_SESSION[sess_id]!=””)
{
echo(“

$_SESSION[sess_id] 님 로그인
로그아웃

“);
}
else
{
echo(“


Id 

Password 

“);
}//else end

if($mode==ok)
{

$sql=mysql_query(“select password(‘$passwd’)”);
$conv_passwd=mysql_result($sql,0,0);

$sql=mysql_query(“select * from sugar_member where id=’$id’&&passwd=’$conv_passwd'”) or die(mysql_error());
$e_check=mysql_num_rows($sql);
$row=mysql_fetch_array($sql);
if($e_check==”)
{
echo(“



“);
}
else
{
$sess_id=”$row[id]”;
session_register(sess_id);
//echo”로그인 에서 의 HTTP_SESSION_VARS[sess_id] = $HTTP_SESSION_VARS[sess_id]
“;
}

}
########logout.php#########
include”sess_test.php”;
session_destroy();

echo”“;
?>

사랑스런 아가에게….

건강아!
엄마는 아침부터 부지런을 떨었단다. 뭐냐구?
화분에 물을 듬뿍 주었지. 잎도 닦아주고, 화분주위에 묻어있는 흙도 말끔히 닦아내고..
그랬더니 이쁜 화초들이 더 이쁘고 파릇해보이는거 있지.
날씨가 참 좋거든.
집에만 있기엔 너무 아까운 날씨이긴 하지만, 그래도 엄마는 집에서 느껴야겠구나.
우리 앞집이 며칠전에 지붕을 새단장했걸랑.
파란색으로 기와를 다시 입혔는데 날씨가 너무 화창해서인지 그 빛이 더 파랗단다.

현관문을 열고 한발짝 내딛게 되면 계단 오른쪽으로 쪼르륵 크고 작은 화분들이 줄지어 있고,
고개를 들어 오른쪽 먼 정경을 보노라면 너른 논과 작은 동산이 한눈에 들어온단다.
풍요롭구나..
이젠 제법 물이 올라 초록이 더 초록으로 되버렸거든.
며칠전부터 오전 오후로 아저씨 한분이 큰 기계를 끌고 그 너른 논을 종횡무진하시더니 이미 모내기가 끝나 있구나. 흥건히 물이 고인 논바닥에 깊이 박힌 모들이 잦은 바람에 흔들거린단다.
아침에 문을 열고 오른쪽으로 눈을 돌렸을때-파란하늘과 초록대지, 상쾌한 공기, 맑은 햇살
그리고 들려오는 참새와 까치소리…
우리 건강이하고 엄마가 느끼는 풍경이란다.
참, 왼편으로는 이미 그 탐스런 꽃잎이 져버린 목련의 잎이 점점 커져 엄마 손바닥보다
커졌구나.풍성한 나무로 변신을 했지.
조금 있으면 부엌으로 난 창틀에 올려놓은 조그만 화분에서는 채송화꽃이 필거야.
앙증맞은 채송화는 그 빛깔도 색색이 곱단다.
이제 얼마 안남았지?
우리 건강이에게도 직접 보여줄게. 그 동안은 엄마의 눈과 마음과 감성으로 느꼈겠지만,
이젠 그 풍요로움을 직접 볼 수 있게될거야.
조금만 기다리렴.
윗집에서 김치찌개를 끓이는가보다. 이미 아침을 먹었건만 구수한 찌개냄새가 엄마의 왕성한
식욕을 자극하는구나.

어제는 엄마가 무엇을 했는지 궁금하지? 건강이 옷과 기저귀를 빨았단다.
얼마전 할머니 이모할머니, 고모 그리고 건강이 외숙모께서 사주신 옷이며 기저귀며
양말이며..
볕이 너무 좋아서 뽀드득 마르라고 어제 빨았단다.
두개의 빨래걸이에 널려있는 새하얀 기저귀와 앙증맞은 옷, 양말들이 어쩜 그리 이쁠까..
바람이 살랑 불때마다 날리는 모습만 봐도 기분이 좋아지더구나.
혹, 바람에 그 여린 것들이 떨어질까봐 엄마는 수시로 문을 열고 내다보았지.
뽀송뽀송 잘 마른 그것들을 개어서 서랍장에 정리하고 난 후의 뿌듯함..
말로 표현하기 힘들다.
저녁에 아빠가 퇴근하셨을 때 잘 정돈된 건강이 옷가지들을 보여드렸더니 아빠도 무지
기뻐하셨단다.
참 그제는 아빠께서 ‘인어공주’동화를 읽어주셨는데, 우리 건강이 잘 들었지?
아빠가 덜 피곤하시면 우리 건강이를 위해 더 많은 책을 읽어주실텐데, 일하시느나
피곤하셔서 자주 못하사는거니까 건강이가 아빠를 이해해드리렴.
아빠께서 건강이를 사랑하시는 맘은 정말 크거든…

오늘은 건강이 베개에 십자수를 빨랑 놓아야겠다. 턱받이는 이미 끝나서 걸어놓았는데…
빨리 완성해서 우리 아가에게 보여줄게.

아까 시골에 계신 외할아버지와 통화를 했는데 외할아버지 목소리에 기운이 없으시더구나.
외할아버지는 연세가 많으시단다. 힘내시라고, 건강하시라고, 오래오래 사셔서 건강이
재롱 보시라고 우리 건강이가 힘을 드리렴.

사랑한다. 사랑스런 우리 아가~~~

——마음 따뜻한 사람이 되었으면 하는 바램으로—– 엄마가..