WEB 2014. 7. 3. 20:39

html 프레임 나누기

프레임의 기본 구조

프레임을 사용하는 페이지에서는 기본적으로 body태그를 사용하지 않는다.

1. <frameset>....</frameset>

브라우저의 창을 프레임으로 나누는 기본 태그이다. 다음과같은 명령어들을 추가하여 사용할 수 있다.

cols="숫자"

화면을 수직으로 나눈다. 단위는 픽셀이나 퍼센트를 이용할 수 있습니다.

rows="숫자"

화면을 수직으로 나눈다. 단위는 픽셀이나 퍼센트를 이용할 수 있습니다.

border="숫자"

프레임들의 경계선이나 두께를 지정한다. 값을 0으로 하면 경계선이 보이지 않습니다.

bordercolor="색상명"

경계선의 색상을 지정합니다.

frameborder=1 또는 0

값이 1이상 이면 경계선이 나타나고 0이면 없어집니다. 프레임의 경계선은 나타나는 것이 기본입니다.

framespacing=숫자

프레임들 간의 간격을 지정합니다.


"10%,*" 와 같은 형식으로 *을 입력해서 남은공간 전부를 할당해 줄 수 있다. 또한 "숫자" 안에 여러값을 입력해 여러개의 프레임을 나눠줄수도 있다.




2. <frame> 

프레임을 만드는 태그로써 프레임에 나타날 문서의 이름, 경로등을 지정한다. 

src="경로 및 파일명"

프레임에 나타날 문서를 지정합니다.

name="이름"

이 속성은 중요한 의미를 지니며, 각 프레임의 이름을 지정합니다. 이 속성이 가지는 기본값이 있습니다. 이 기본값은 이름으로 지정할 수 없습니다.

marginheight, marginwidth=숫자

프레임이 상하, 좌우 여백을 지정합니다. 입력 단위는 픽셀입니다.

noresize

프레임의 크기를 고정시키며, 브라우저에서 프레임의 경계선을 움직이지 못하게 합니다.

scrolling=yes, no, auto

프레임 내의 스크롤바를 나타낼 것인지를 지정합니다. 기본은 auto이며, 자동으로 나타나거나 감추어집니다. Yes이면 무조건 스크롤바가 나타나고 no이면 나타나지 않습니다.

3. 특정 프레임에 문서 불러오기

페이지에서 다른 페이지로 이동하는것을 프레임에서 구현하면 현재 페이지가 띄워진 프레임에서 바로 이동하는데, target 태그를 이용하면 특정 프레임에서 그 동작이 일어나게 할 수 있다. 이는 frame을 만들때 name 태그를 반드시 사용해야 구현이 가능하다.

Target="이름"

<FRAME> 태그에서 name 속성으로 지정된 값을 의미합니다.

Target="_blank"

링크된 결과를 특정 프레임이 아니라 새로운 브라우저 창이 열리면서 보여줍니다.

Target="_parent"

상위 문서 프레임으로 결과를 보여주는데, 상위 문서란 이 속성이 있는 프레임 문서로 나누기 전의 문서를 의미합니다.

Target="_top"

프레임을 이용한 현재 창이 사라지고 전체 화면으로 결과를 보여줍니다.

Target="_self"

링크 태그가 있는 프레임에 결과를 보여줍니다. 기본값입니다.


ex) <a href="main.php" target="top">


출처 - " http://cbkim.wkhc.ac.kr/htmlbox/hmf11.html "

'WEB' 카테고리의 다른 글

웹 유용할 태그들 정리  (0) 2014.07.03
php에서의 mysql연동  (0) 2014.07.02
암호화 함수, 해쉬함수, information_schema  (0) 2014.07.02
5/23 스터디 정리  (0) 2014.05.23
WEB 2014. 7. 3. 18:29

웹 유용할 태그들 정리

1. alert창 띄우기 (html)

<script>alert(\"텍스트 입력\");</script>


2. 다른페이지로 이동 (php)

<?    

header("location:이동할 페이지");

?>


3.다른 페이지로 이동 (html)

<meta http-equiv="refresh" content='지연시간; url=이동할페이지'>

따옴표 위치에 주의하자.


4. 다른 페이지로 이동 (java)

자바스크립트를 사용하기에 <script language='javascript'></script>를 입력해줘야한다.

<script language='javascript'>

location.href="이동할 페이지";

</script>


4-1 다른 프레임에서 다른 페이지로 이동

<script language='javascript'>

parent.프레임이름.location.href="이동할 페이지";

</script>


4-2 새창을 띄워서 이동

<script language='javascript'>

window.open(페이지 주소);

</script>


5. 전체 페이지(프레임 포함) 새로고침 (java)

<script language='javascript'>

parent.location.reload();

</script>

현재 페이지가 있는 프레임을 포함한 전체 페이지의 내용을 새롭게 불러오는 것이다.

6. 링크 색상 변경 (html)
<head>와 </head> 사이에 입력해주는 내용이다.

 <style type="text/css">

<!--
A:link {text-decoration:none; color:#000080}  -> 기본 링크 색상
A:visited {text-decoration:none; color:#000080} -> 방문한 적 있는 링크의 색상
A:active {text-decoration:none; color:#000080}    ->클릭했을때의 링크의 색상
A:hover {text-decoration:none; color:#529CFF} -> 마우스 커서를 올렸을때 링크의 색상
-->
</style>

또한 A:hover는 여러가지로 동적 변화를 줄 수 있다.

A: hover {text-decoration:underline; color:#529CFF}

여기에 마우스커서가 올라가면 밑줄이 생깁니다

A: hover {text-decoration:underline overline; color:#529CFF}

여기에 마우스커서가 올라가면 아래위로 두 개의 줄이 생깁니다

A: hover {text-decoration:none; color:#000080; background:#D0E0FF; padding:2 2 0}

여기에 마우스커서가 올라가면 링크주변이 배경색으로 채워집니다

A:link, A:visited, A:active 로 시작되는 줄에도 각각 padding 2 2 0 를 추가해주시면 보기 좋습니다. 배경이나 글자가 잘리거나 움직이지 않게 하기 위해 넣은 부분입니다.

A: hover {text-decoration:none; color:#529CFF; font-weight:bold}

여기에 마우스커서가 올라가면 굵은 글씨로 변합니다

A: hover {text-decoration:none; color:#529CFF; font-size:11pt}

여기에 마우스커서가 올라가면 큰 글씨로 변합니다

A: hover {text-decoration:none; color:#529CFF; background:url(dotline.gif) repeat-x bottom}

여기에 마우스커서가 올라가면 점선 이미지가 밑줄로 보여집니다

dotline.gif 는 점선밑줄로 사용할 그림의 경로 및 이름.
이 경우는 점선으로 사용할 그림이 하나 있어야 합니다. 가로3픽셀, 세로1픽셀짜리로 준비하시면 되구요. 투명한 바탕의 가운데 점 하나만 찍어주면 됩니다.  ← 확대해보면 이런 모양이 되겠죠. 파란사각형의 양쪽은 투명배경 (배경색이 있는 문서에서 자연스러운 점선을 표현하기 위함)입니다. 물론, 다른모양 다른크기로 만들어도 상관은 없습니다:) 저 그림을 다운 받아서 파란색만 다른 색으로 바꿔 사용하셔도 됩니다^^


A: hover {text-decoration:none; color:#529CFF; border-bottom:1 dotted #0000FF}

여기에 마우스커서가 올라가면 #0000FF색의 점선 밑줄이 생깁니다

이 경우, 밑줄로 쓰일 이미지는 따로 필요하지 않지만, 익스플로러 5.5 이상에서만 보입니다.

A: hover {text-decoration:none; color:#000080; border:1 dotted #0000FF; padding:2 3 0}

여기에 마우스커서가 올라가면 링크주변에 #0000FF색 점선박스가 생깁니다

A:link, A:visited, A:active 로 시작되는 줄에는 각각 padding 2 3 0 을 추가해주시면 보기 좋습니다. 글자가 움직이지 않게 넣어준 여백입니다. 점선박스로 사용할 이미지는 따로 필요하지 않지만, 익스플로러 5.5 이상에서만 보입니다.

A: hover {text-decoration:none; color:#529CFF; border-bottom:3 solid #0000FF}

여기에 마우스커서가 올라가면 두께 3, #0000FF색의 굵은 밑줄이 생깁니다

밑줄로 쓰일 이미지는 따로 필요하지 않지만, 익스플로러 5.5 이상에서만 보입니다.

출처 : http://www.kissofgod.net/wdi/css/css01a.html#

5. javascript 팝업

window,open("URL",이름,속성); -> 팝업창 호출

window.opener.document.폼네임.필드네임.value=값 -> 팝업 호출 이전창으로 값 보내주기

ex) 이전창에서 form name=form 이고 input type=text name=id 라면 

팝업으로 열린창에서window. opener.document.form.id.value="hello" 할때 원래 창에서의 id 에 hello가 들어간다.

현재 창의 내용을 사용할떄 window.document를 사용하듯 이전창의 내용을 사용하려면 window.openr.document를 이용한다. 반대로 새로운 창을 열면서 값을 보내주려면 window.open()안에 값을 넣어준다.

6. javascript ID 이용하기

document.getElementById(ID).value=값;

태그를 이용하면 html 안에서 id="" 로 지정해준 값들을 받아와 자바스크립트에서 사용이 가능하게 한다. 여러모로 유용한 함수.


'WEB' 카테고리의 다른 글

html 프레임 나누기  (0) 2014.07.03
php에서의 mysql연동  (0) 2014.07.02
암호화 함수, 해쉬함수, information_schema  (0) 2014.07.02
5/23 스터디 정리  (0) 2014.05.23
WEB 2014. 7. 2. 21:44

php에서의 mysql연동


php는 mysql과의 연동을 통해 데이터베이스의 관리나 게시판의 개설등을 할 수 있다.

다음과 같은 명령어를 통해 연동을 시켜줄 수 있다.

1. mysql 연결 


mysql_connect(“서버주소”,”DB사용자 계정”,”비밀번호”);

Php에서 mysql 로 접속. php내에서 mysql을 통한 모든 작업을 시작하기 전에 반드시 해줘야 한다.


mysql_close(연결 식별자);

연결 식별자가 가르키는 mysql 로 접속된 연결을 해제한다.

연결 식별자 생략 시 가장 최근에 연결한 서버와 연결을 해제한다.


or die()

or문은 앞에 실행한 함수에서 에러가 발생해씅ㄹ때에 뒤에 나오는 함수를 실행하는 명령이고,

die(message)문은 exit함수와 같은 역할을 하되, 종료할때 message를 출력해주고 종료한다.

2. mysql 사용

mysql_select_db(“DB”,연결 식별자)

사용할 Database를 선택한다.

연결 식별자 생략 시 마지막 연결을 사용한다.


mysql_query(“전송할 query”,연결 식별자);

mysql 에게 전송할 쿼리문을 입력하면 그 쿼리문이 그대로 전달되는 함수이다. 기존 mysql에서 사용하던 명령어를 그대로 사용할 수 있다.

출력하는 쿼리문(SELECT, SHOW…) 의 경우 성공 시 resource 가 반환되고,

실행하는 쿼리문(INSERT,UPDATE…) 의 경우 성공 시 true 반환된다.


Mysql_fetch_array(리소스 결과);

데이터베이스에서 실행 결과를 가져오는 함수이다.

결과를 한 행씩 가져와서 배열 형태로 변환한다.

$data=mysql_fetch_array($result) 와 같은 형태로 사용되어 쿼리문에서 실행된 내용의 결과를 한 행씩 가져와서 변수에 저장, 배열로 변환하는 함수이다.

 보통 반복문과 함께 쓰이는데, 배열에 저장한 내용은 $name=$data['name']와 같은 형태로 사용되어 변수에 저장시켜줄 수 있다.





'WEB' 카테고리의 다른 글

html 프레임 나누기  (0) 2014.07.03
웹 유용할 태그들 정리  (0) 2014.07.03
암호화 함수, 해쉬함수, information_schema  (0) 2014.07.02
5/23 스터디 정리  (0) 2014.05.23
WEB 2014. 7. 2. 19:07

암호화 함수, 해쉬함수, information_schema

암호화 함수

DES 함수 : 64bit 혹은 128bit등의 정해진 블록의 크기로 작업을 수행하는 블록 암호 방식을 사용하며 Feistel 구조로 이루어져 있다. 암호화와 복호화시에 같은 암호키를 쓰는 대칭 키 암호 방식을 사용하며, 56비트의 키를 사용한다. DES AES에 비해 안전하지 않은것으로 알려져있다. 전수공격으로 쉽게 해독이 가능하며, 56비트의 키 길이는 현재 컴퓨터 환경에 비해 너무 짧기 떄문이다.

AES 함수 : DES와 마찬가지로 블록암호, 대칭 키 방식을 사용한다. 2001년에 기존의 DES를 대체하기위해 개발된 레인달 암호에 기반하여 만들어졌다. 56bit의 키 길이를 가졌던 des와는 다르게 128,192,256비트 길이의 키 값을 가지지만, 이론적으로는 키 크기에 대한 제한이 없다. AES표준은 레인달 알고리즘 중 블록크기가 128bit인 알고리즘을 말한다.

SEED 함수 : 한국 정보보호 진흥원의 기술진이 개발한 128비트 및 256비트 블록을 가진 블록 암호방식을 사용하는 함수이다. ASE,DES와 마찬가지로 대칭 키 암호방식을 사용하며 DES와 같은 Feistel 구조로 이루어져있다.

FEISTEL 구조 : 함수의 종류는 아니지만, 암호화 함수를 구성하는 구조중 하나이다. 암호화 하려는 평문을 길이가 같은 두개의 정보로 나누어 키와 조합한뒤 xor연산을 거쳐 좌우를 뒤집어주는 구조이다. 암호화와 복호화 과정이 동일하기에 별도의 복호화기가 필요하지 않다. 복호화시엔 암호화연산을 반대로 한다.

해쉬함수 :

임의길이의 데이터를 고정길이의 데이터로 매핑하는 알고리즘이다. 결정론적 함수이기 때문에 같은 데이터가 들어가면 언제나 같은 데이터가 출력된다 그렇기에 다른 입력값이 들어갓음에도 동일한 출력값이 나오게될수가 있다.

MD5 : 128비트 암호화 해쉬 함수이다. 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사에 사용된다.과거에는 보안용도로 사용되기도 했지만, 취약점이 밝혀진 후에는 보안용도로 사용하는 것을 권장하지 않는다. 임의의 길이의 메시지를 입력받아 128비트짜리 고정길이의 출력값을 낸다. 단방향 암호화이기 때문에 출력값에서 입력값을 복원하는것은 할 수 없다.

SHA : 여러가지의 관련된 해시함수들의 모음이다. Sha-0로부터 여러가지 내용의 변형이 만들어졌고, sha-1을 제외한 SHA-224, SHA-256, SHA-384, SHA-512등을 통틀어 sha-2라고 하기도 한다. 파일값이 약간만 바뀌어도 값이 크게 변할 수 있다.

 

Information_schema

Information_schemadatabase의 데이터에 대한 데이터인 metadata를 제공하는 스키마이다. 여기서 확인 가능한 데이터는 생성된 테이블 구성 정보, 생성된 계정의 권한 정보같은것이 있다. Information_schema 자신의 스키마를 제외한 Mysql서버의 다른 스키마에 대한 정보를 가지고 있다. Information_schema는 읽기전용 테이블로 데이터의 조회만이 가능하고, 데이터의 수정은 불가능하다.

'WEB' 카테고리의 다른 글

html 프레임 나누기  (0) 2014.07.03
웹 유용할 태그들 정리  (0) 2014.07.03
php에서의 mysql연동  (0) 2014.07.02
5/23 스터디 정리  (0) 2014.05.23
WEB 2014. 5. 23. 20:19

5/23 스터디 정리

5/23일자 web스터디 

데이터베이스(Database) : 여러 사람들이 공유하고 사용할 목적으로 통합하여 관리되는 데이터의 집합.

DBMS(Database Management System) : 다수의 사용자들이 데이터베이스 내의 데이터를 접근할수 있게 만드는 소프트웨어들의 집합. ex)MySQL, Oracle, MSSQL

SQL(Structured Query Language): 데이터베이스와 의사소통을 하기위한 표준언어. 

컴퓨터와의 의사소통을 위해 만들어진 프로그래밍 언어와 그 맥락을 같이하지만, 프로그래밍 언어와는 다르게 데이터베이스에 단순한 질의등을 하기위한 언어이다. (프로시저-특정작업을 수행하기 위한 프로그램의 일부)

오늘은 데이터베이스가 뭔지 , 데이터베이스를 다루는 소프트웨어중의 하나인 mysql에 대해 알아보았고, 명령어 몇개를 간단하게 배웠다.

Mysql -u 계정명 -p 비밀번호 와 같은 형식으로 자신의 계정에 로그인할 수 있고,

Set password=password("비밀번호"); 와 같은 형식으로 자기 계정의 비밀번호를 변경할 수 있다.

* 모든 명령어 뒤에는 ;(세미콜론) 을 반드시 넣어주자.

Database 목록 보기 - show databases;

database 선택하기 - use 데이터베이스이름;

현재 사용중인 database 확인 - select database();

Table 목록보기 : show tables;

테이블 생성 명령

Create table [테이블 이름][컬럼 이름 (데이터형 *,…);

ex) create table member(

num int unsigned not null auto_increment primary key,

name varchar(5) character set utf8 collate utf8_general_ci not null,

id varchar(20) not null,

pwd varchar(15) not null

      ); 

테이블을 생성할땐 create table 명령어를 사용하는데, 이런식으로 만들어진 테이블의 모양은 구조체를 많이 닮은것도 같다. 

먼저 테이블의 이름을 정하고, [컬럼이름 데이터형]순으로 컬럼을 만들어준다. 

데이터형의 종류는 위와 같다.

컬럼을 만들때, [컬럼이름 데이터형]외에도 여러가지 옵션을 넣어줄 수 있는데, auto_increament를 넣어줘서 컬럼에 내용이 생성될때마다 자동으로 1씩 증가하게 해줄수도 있고, null, not null을 넣어줘서 널값 허용 여부를 정해줄수도 있다. 키값을 설정해주는것도 있는데, 아직은 모르기에 쓰지 않겠다.

테이블 수정 명령

테이블을 수정해줄때는 ALTER TABLE 명령어를 사용해주는데, 명령어는 다음과 같다.

ALTER TABLE [테이블명] (ADD/CHANGE/DROP)

alter table member add phon varchar(11); //컬럼 추가

alter table member change phon phon varchar(12) not null; //컬럼 변경

alter table member drop phon; //컬럼 삭제


데이터베이스/테이블 삭제

Drop [database/table] [데이터베이스명/테이블명];


적힌 그대로 사용하면 되는 명령어다.


데이터 삽입

insert into [테이블 명](필드 1,필드 2, …) VALUES(‘값1’,’값2’ …);

insert into member(name, id) values(‘김가영’,’kayoung’);

insert into member values( ‘’ , ’김가영’, ‘kayoung’, ‘password’);

insert into member(id) values( ‘id1’), (‘id2’); 

마찬가지. 적힌 그대로 사용하면 되는 명령어다. 여러개의 필드와 여러개의 값을 정해서 삽입이 가능하다.


데이터 수정

Update [테이블명] set [컬럼명]=[변경할 값], … where [조건];

Ex) update member set id=‘kky91320’ where num=1;


데이터 삭제

Delete from [테이블명] where [조건];

Ex) delete from member where num=1;

각각 데이터 수정, 삭제 명령어이다. 적힌 그대로 사용하면 되는 딱히 어려울것 없는 명령어들이다.


데이터 검색

Select [컬럼명, …] from [테이블 명] where [조건식] order by [컬럼명] (asc/desc) limit [시작순번], [개수]; 

ex) select name from member where num>0 order by num asc limit 0,3;

특정 조건에 맞는 데이터를 검색해서 출력하는 명령어다. 제일 응용할게 많은 명령어라고 생각된다.

가장 간단한 응용으로


select * from 테이블이름 *는 와일드카드 명령어이다. 모든 내용을 다 출력하겠다는 뜻이다. 즉, 해당 테이블 안의 모든 내용을 전부다 출력하겠다는 소리다.

옵션이 여러개 있는데, 각각

Where : 출력할 특정 조건을 정의

Order by : 출력되는 데이터의 오름차순, 내림차순을 특정 컬럼을 기준으로  정의

Limit : 출력할 튜플들의 범위를 지정

정도가 있다. 이중에 where는 다른 프로그래밍 언어들과 유사하게 &,|연산자의 사용이 가능하다. 

select *from student where school='strandford'||school='Cambridge' 이나 

select * from student where number>200800000&&(e_mail like '%gmail%')

처럼 사용할 수 있다. 여기서 like 명령어는 '% %'안에 들어간 내용을 포함하는 문장을 찾아낸다.

또, select name,'학고' from student where score<=1.75 처럼 조건을 만족할때 내가 원하는 글자를 출력시킬수도 있고,



select '학고' name from student where score<=1.75; 처럼 써서 즉석에서 내가 원하는 컬럼을 만들어 컬럼안에 내용을 출력시킬 수 있다.


mysql 내용추가

ALTER TABLE `테이블명` AUTO_INCREMENT = 1;
SET @count = 0;
UPDATE `테이블명` SET `테이블명`.`컬럼명` = @count:= @count + 1;

auto_increment 숫자 초기화후 재정렬하는방법


'WEB' 카테고리의 다른 글

html 프레임 나누기  (0) 2014.07.03
웹 유용할 태그들 정리  (0) 2014.07.03
php에서의 mysql연동  (0) 2014.07.02
암호화 함수, 해쉬함수, information_schema  (0) 2014.07.02