xFacility/Documents2010. 8. 23. 14:46
xFacility의 변수인 xf_language는 사용자의 언어 정보를 담는다. 사용자가 가장 편한 언어를 최상위인 0번으로 하여, 익숙치 않은 언어일 수록 후번에 등록이 된다. 예를 들어, 한국어를 모국어로 하고 제1외국어를 영어로 제2외국어를 일본어로 한다면, 그 사용자의 언어정보는 다음과 같이 구성될 것이다.
$xf_language['0'] = "ko-kr";
$xf_language['1'] = "en-us";
$xf_language['2'] = "ja-jp";

xf_language 변수는 사용자의 정보이기 때문에 어플리케이션에 상관 없이 유지, 보존되어야 한다. 그래서 사용자 로그인 후 세션 정보로 이를 등록할 필요가 있는데 xFacility변수의 기본 규칙을 따라 php의 경우 $_SESSION['xf_language']에 그 내용을 입력한다.

'xFacility > Documents' 카테고리의 다른 글

어플리케이션 메뉴  (0) 2010.12.02
xFacility Data Form데이터 형식  (0) 2010.10.20
xFacility 변수 규칙  (0) 2010.08.07
문장 구조  (0) 2010.06.29
데이터 형식  (0) 2010.05.17
Posted by 마이클
WebApp/PHP2010. 8. 13. 15:38
브라우저에 헤더 메시지를 보냄으로써 페이지 이동을 할 수 도 있다.

이 전에 헤더 메시지에 대한 소량의 설명을 하도록 하겠다.
헤더 메시지는 서버와 클라이언트간 본격적으로 송수신하기 전에 있어서 필요한 정보들을 사전에 나누는 것이다.
클라이언트의 브라우저 정보(Firefox, IE 등), 서버의 웹 서버 정보(IIS, Apache 등), 본격적으로 주고받을 데이터의 MIME Type등을 그 내용으로 보낸다.
또한 헤더 메시지로 리다이렉트 정보 또한 전송할 수 있다.
헤더 메시지는 본격적으로 데이터를 주고 받기 전에 보내는 사전 작업이기 때문에 HTML 코드 등의 데이터를 전송한 다음에 헤더 메시지를 보내게 되면 상호간에 오류가 나므로 주의해야 한다.

PHP에서는 header() 함수를 활용하여 헤더 정보를 보낼 수가 있으며, 페이지 이동을 위한 코드는 다음과 같다.
header('Location: http://www.example.com/');
Location을 콜론(:) 이후의 주소로 이동하라는 헤더 메시지이다. 여기에서는 http://www.example.com/이 되겠다.

만약 일정 시간 후에 페이지 이동을 하도록 하려면, sleep() 함수를 이용하면 된다.
sleep(5);
header('Location: http://www.example.com/');
위와 같이 작성하면 5초 후에 페이지 이동이 되지만, 5초 동안 사용자는 공백의 화면을 보고 있어야 한다. 만약 페이지를 이동하기 전에 사용자에게 로딩, 경고 및 안내 화면을 보여주고자 한다면 HTML의 메타 태그를 이용한 방법이나, 자바스크립트를 이용한 페이지 이동 방법을 사용하기 바란다. (포스트 하단에 링크 첨부하였다.)

앞서 말했지만 데이터 전송 전에 보내도록 되어있는 헤더 메시지의 특성 때문에, 페이지를 로드하고 일정 시간 뒤에 다른 페이지로 이동하는 방법은 구현할 수가 없다.(클라이언트가 로드할 데이터가 주어지기도 전에 헤더 메시지가 먼저 주어지기 때문이다.)

---
HTML 페이지 이동(http://studio2b.tistory.com/32)
Javascript 페이지 이동(http://studio2b.tistory.com/33)
PHP를 이용한 Header 페이지 이동(http://studio2b.tistory.com/34)

'WebApp > PHP' 카테고리의 다른 글

Post방식을 통한 파일 업로드File Upload  (0) 2010.10.21
foreach 배열 반복  (0) 2010.08.12
다차원배열의 구성  (0) 2010.06.26
array_merge()  (0) 2010.06.25
Form과 Input 태그로 배열 넘기기  (0) 2010.06.24
Posted by 마이클
WebApp/JavaScript2010. 8. 13. 15:22
Javascript에서 페이지 이동을 하는 방법은 헤드 사이에 다음과 같은 자바스크립트를 넣는 것이다.

이 방법의 핵심은 location.href이다.
<script type='text/javascript'>
<!--
location.href='http://www.example.com/';
//-->
</script>
현재 보여주고 있는 화면의 주소를 http://www.example.com/으로 변경한다는 의미로써,
곧장 http://www.example.com/으로 이동한다.

메타 태그처럼 몇 초 후에 이동하도록 코드를 작성할 수도 있는데 바로 setTimeout을 활용한 방법이다.
<script type='text/javascript'>
<!--
setTimeout("location.href='http://www.example.com/'",5000);
//-->
</script>
setTimeout 함수는 Milisecond단위를 사용하기 때문에 5000은 5초를 뜻한다.
고로 이 코드는 5초 후에 location.href='http://www.example.com'를 실행하라는 의미이다.
여기서 한 가지 중요한 것은 location.href='http://www.example.com'을 둘러싼 큰 따옴표인데,
이것들이 사라지면 5초 후가 아닌 자바스크립트를 읽는 도중에 곧장 실행을 하게 된다.

---
HTML 페이지 이동(http://studio2b.tistory.com/32)
Javascript 페이지 이동(http://studio2b.tistory.com/33)
PHP를 이용한 Header 페이지 이동(http://studio2b.tistory.com/34)
Posted by 마이클
WebApp/HTML2010. 8. 13. 15:06
HTML 태그를 활용해서 리다이렉트를 하는 것은 매우 간단하다.

다음의 한 줄만 헤드 태그 사이에 넣어주면 된다.
<meta http-equiv="refresh" content="5;url=http://www.example.com/" />

여기서 content 뒤에 있는 숫자 5는 페이지가 로딩되고 5초후에 갱신된다는 것이고,
url은 말 그대로 갱신할 때 읽어들일 페이지의 주소이다.

---
HTML 페이지 이동(http://studio2b.tistory.com/32)
Javascript 페이지 이동(http://studio2b.tistory.com/33)
PHP를 이용한 Header 페이지 이동(http://studio2b.tistory.com/34)

'WebApp > HTML' 카테고리의 다른 글

HTML 기본 셋  (0) 2010.08.05
Posted by 마이클
WebApp/PHP2010. 8. 12. 13:31
PHP에는 foreach구문 정의가 있어서 배열 반복을 더욱 쉽게 만들 수 있다. 이 방법이 기존 for구문과는 어떤 차이가 있는지 다음 예제를 통해 설명하고자 한다.

우선 for구문을 통한 배열 반복의 예다.
for($i=0; $i<count($array); $i++) {
echo("Index: ".$i."\t Value: ".$array[$i]."\n");
}
인덱스는 $i로 배열 값은 $array[$i]로 나타난다.

다음은 foreach구문을 통한 배열 반복의 예다.
foreach($array as $key => $value) {
echo("Index: ".$key."\t Value:".$value."\n");
}
인덱스는 $key로 배열 값은 $value로 나타낸다.

인덱스 값이 필요치 않은 경우 다음과 같이 단순화 할 수도 있다.
foreach($array as $value) {
echo("Value: $value \n");
}

foreach구문은 for구문과 동일한듯 하지만 몇 가지 차이점이 있다.
일단 좀더 선언구가 의미 있다. for구문은 선언문에 루프 메커니즘을 사용하지만, foreach구문은 루프 내에서 사용할 데이터를 정의하고 있다.
또한 배열의 모든 인덱스에 대하여 구문을 실행한다. for구문은 자동 배열(인덱스가 0,1,2,3..)에 한해서만 그 처리를 할 수 있다. (물론 소스를 복잡하게 해서 처리하도록 할 수는 있다.) 다음 예제를 통해 설명하겠다.

예를 들어 아래처럼 야구 순위 프로그램에 사용하는 배열이 있다고 하자.
$array = array(0=>"SK", 1=>"Samsung", 2=>"Doosan", 3=>"Lotte", 4=>"Kia", 5=>"LG", 6=>"Hanhwa", 7=>"Nexen", "From"=>"KBO", "Date"=>"20100812");

위 배열을 앞에서 소개한 for구문으로 실행하면 다음과 같은 결과가 나온다.
Index: 0    Value: SK
Index: 1    Value: Samsung
Index: 2    Value: Doosan
Index: 3    Value: Lotte
Index: 4    Value: Kia
Index: 5    Value: LG
Index: 6    Value: Hanhwa
Index: 7    Value: Nexen
Index: 8    Value:
Index: 9    Value:

count에서 알아낸 배열의 크기가 10이므로 10번의 루프는 돌았으나,
숫자를 순차적으로 증가시켜서 찾기 때문에 숫자 인덱스가 중간에 비어있는 배열(인덱스가 0,1,4,5..처럼 중간 숫자가 빠진 경우)이나 문자로 인덱스를 사용하는 배열(From, Date...)에 대해서는 예기치 못한 오류가 발생할 수 있는 것이다.

하지만 foreach구문을 사용하면 다음과 같이 정상적으로 처리할 수 있다.
Index: 0     Value: SK
Index: 1     Value: Samsung
Index: 2     Value: Doosan
Index: 3     Value: Lotte
Index: 4     Value: Kia
Index: 5     Value: LG
Index: 6     Value: Hanhwa
Index: 7     Value: Nexen
Index: From     Value: KBO
Index: Date     Value: 20100812

기능적으로 for구문이 뒤떨어진다고 해서 불필요한 것은 아니다.
앞의 예제처럼 순위 정보와 그에 관련한 정보를 배열 하나에 묶어 놓고, 순위 정보(숫자 인덱스)를 출력할 때에는 for구문을 이용하고 관련 정보(문자 인덱스)를 뽑을 때는 foreach구문을 이용하는 식의 활용을 할 수 있다. 이 방법은 여러 변수를 사용하지 않고 순위에 대한 것들을 변수 하나에 묶을 수 있기 때문에 매우 유용한 방법이다.


Posted by 마이클
xFacility/Documents2010. 8. 7. 13:55
xFacility 프로그램에서 지정하는 변수명에는 규칙이 있다.

1. 접두어로 xf_를 사용한다.
데이터베이스 정보와 관련한 변수인 경우 접두어 xf_에 데이터베이스의 약어인 db를 붙여서 xf_db를 변수명으로 사용한다.
사용자와 관련한 변수인 경우 접두어 xf_에 사용자의 약어인 user를 붙여서 xf_user를 변수명으로 사용한다.

2. 하위정보 는 배열로 저장한다.
xFacility의 데이터베이스 정보 중, 데이터베이스 서버인 경우는 데이터베이스 변수인 xf_db에 배열명 server를 이용하여 xf_db[server]와 같은 식으로 지정한다.
사용자의 아이디는 사용자 변수인 xf_user에 배열명 id를 이용하여 xf_user[id]와 같이 지정한다.

3. 세션 또는 쿠키에는 포장을 해서 변수를 등록한다.
세션 또는 쿠키에 저장하려면 $_SESSION[xf_user], $_COOKIE[xf_user]와 같은 식으로 포장을 해서 등록한다.

'xFacility > Documents' 카테고리의 다른 글

xFacility Data Form데이터 형식  (0) 2010.10.20
xf_language 변수  (0) 2010.08.23
문장 구조  (0) 2010.06.29
데이터 형식  (0) 2010.05.17
처리Process  (0) 2010.05.16
Posted by 마이클
WebApp/HTML2010. 8. 5. 05:55
Studio[2b]에서 웹 페이지 제작시 사용하는 기본 틀입니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<base href="http://www.example.com" />
<link rel="alternative" type="application/rss+xml" title="RSS Feed" href="/rss/" />
<link rel="shortcut icon" href="http://www.example.com/favicon.ico" />
<title>Example</title>
<meta name="description" content="This is a example page." />
<meta name="keyword" content="HTML, example" />
<style type="text/css">
</style>
<script type='text/javascript'>
</script>
</head>
<body>
</body>
</html>

'WebApp > HTML' 카테고리의 다른 글

HTML 페이지 이동(리다이렉트Redirect)  (0) 2010.08.13
Posted by 마이클