/ php / index / english dictionary

 회원가입 |  로그인

{php4}
( home ) 2004-07-08 17:45:59

        --------------------- [원본 메세지] ---------------------

나 php 공부한다~*(http://cafe.daum.net/phplove
게 시 판 : H _♡ PHP 강의란
번    호 : 5
제    목 : lesson 4
글 쓴 이 : 이광민
조 회 수 : 2954
날    짜 : 2000/11/08 19:43:44
내    용 :
안냐세염.. 올만입니다.. ^_^

에공 그동안 좀 정신없이 바빴네염.. 글구 앞으로도 한몇달 그럴것

같습니다. 그래도 약속은 지켜야 겠죠?

음.. 오늘은 배열이랑 html의 from 전송에 관해 알아 보기로 했죠?

자그럼 배열에 대해 알아봅시다. 배열이 왜 생겨 났는가..

사실 변수만 있어도 코딩하는데에 전혀 지장이 없습니다.

다만 노가다가 될뿐이죠.. --;; 엄청난 노가다염. 배열이 생겨난이유는

한마디로 '일괄처리' 즉한 방에 처리하기 위해서 입니다. 배열을

쉽게 설명하자면 연속되는 메모리에다가 같은 이름을 붙인 다음에

이름 다음에 증가값(인수)으로 구분하는 것입니다. C에서는 포인터를

사용하기도 하는데 php에는 안나옵니다. 포인터 땜에 머리 아파하는 분덜이

많습니다. 첨 C하실때.. 배열을 간단히 예로 들자면 여러분 '호톤'이라는

만화를 보셨는지 모르겠습니다. 안보신 분은 저한테 연락 주심 드리죠 ^_^

거기에 보면 파파치를 모시는 뽀치라는 종들이 나옵니다. 귀엽져.. 뽀치들은

똑같이 생겼는데 이름표를 달고 있어염.. 구래서 부를 때도 뽀치1, 뽀치2, 뽀치3

.... 이런 식으로 부르졈.. 배열도 똑같습니다. $pochi[1], $pochi[2], $pochi[3]

.... 이런 식으로 표현 됩니다. 구럼 요런 넘들을 어떤때 사용하는가.

예를 들어 보도록 하겠습니다.

먼저 php에서 배열은 변수와 마찬가지로 선언 없이 사용 됩니다.

<?
$pochi=array(1,2,3,4);

echo "$pochi[1], $pochi[2], $pochi[3], $pochi[4]";

?>

결과는 1, 2, 3, 4 이렇게 나오겠죠? array()함수는 배열에다 어떤 값들을

밀어 넣을때 사용합니다. 구렇담 배열에 어떤 값들을 밀어 넣을때 꼭 array함수를

써야만 하는가 구렇지 않습니다. 실제 코딩에서 배열은 연속되는 일련의 값을

받아서 저장하는 방식으로 마니 사용됩니당. 데이터베이스랑 연동해서 사용할때를

생각해봅시당. 방명록이 있다고 합시다. 데이터 베이스에는 일련의 증가값(index:

각 내용(row)들을 구분해주기 위한 값)을 저장하는 칸(칼럼)과 이름을 저장하는 칸

그리고 내용을 저장하는 칸이 있다고 합시다. 모양은 이런 식으로 되겠죠?

index     name      memo
1       이광민     바보
2       이광민     멍청이
3       이광민     쪼다
4       이광민     밴태 --;;

위의 내용에서 1, 이광민, 바보 이것들은 하나의 쌍을 이룹니다. 이것을 Row라고

부릅니당.. 그걸 구분해주는 키(index)값으로 자연수의 증가 값을 사용했습니다.

그리고 1, 이광민, 바보 이 하나의 쌍중에 각각의 개체 즉 이광민 이것을 하나의

칼럼이라고 합니다. 구럼 이 값들을 여러분의 홈을 방문한 방문객들에게 보여주

어야 하는데. 어케 하면 될까여? 또 보여 줄때도 이름만 쭉 보여 줄 수 도 있을

것이고 내용만 쭉 보여 줄 수 도 있을 것이고 여러 가지 방법으로 보여 줄 수 있을

것입니다. 그렇다면 index중에 1이란 값을 읽어 와서 변수에다 넣고 이광민 이라는

값을 불러와서 또 변수에다 넣고 바보라는 값을 불러다가 또 변수에다 넣고 이렇게

할까요? 물론 저은 방법이기는 합니다(전 단순한게 저아염 ^_^). 구렇지만 위의

12개의 내용을 다 저장할려면 변수 12 개를 써야하니 얼마나 손가락이 고생일까요.

불러오기 위해서 query(Data Base에서의 명령문)도 12 개를 해야 하겠죠?

구렇지만 배열이란걸 알게 되면 무지 간단합니다. 일단 한줄만 읽어 와야 한다면

$line이란 배열에다 밀어 넣으면 $line[0], $line[1], $line[2], $line[3] 이렇게

줄줄이 저장이 됩니다. 나중에 배우겠지만 Database관련 함수를 사용하면 아주

간단히 값들을 읽어와서 배열에다 넣을 수 있습니다. 그건 나중에 배웁시다. ^_^

구렇다면 몽창 한번에 읽어 올수는 없는가 가능합니다. 구런데 구렇게 할려면

4개의 배열이 필요하겠죠? 뭐 간단하기는 하지만 프로그램 하는 사람들은 무지 편한걸

저아합니다. 대신 머리는 좀 아프지만.. 구래서 다차원 배열이라는걸 만들었습니다.

예를 들죠. $line[0]이라는 배열에다가 또 배열을 저장해 버리는 것입니다. 간단하져.

배열에대 배열 저장하고 그배열에 또 배열 저장하고 이게 다차원 배열입니다.

좀 헛갈리시는 분덜도 있으리라고 생각 됩니다만 쉽게 생각하세염. 배열의 한개체

속에 또 배열을 집어 넣어 둔것이라고.. 구렇담 표헌은 어떤식으로 하는가.

$line, $line1, $line2, $line3 이라는 배열이 있다고 합시다. 이걸 array라는

배열에 넣어봅시다.

<?
$line=array(1,2,3,4);
$line1=array(5,6,7,8);
$line2=array(9,10,11,12);
$line3=array(13,14,15,16);

$array=array($line, $line1, $line2, $line3);

?>
무지하게 간단합니다. 구러면 3, 6, 12, 13을 각각 출력해 봅시다.

<?
echo $array[0][2];
echo $array[1][1];
echo $array[2][3];
echo $array[3][0];
?>
이해가 가시죠? 안가신다구염? --;; 음. 일단 배열의 인수는 항상 0으로 부터

시작합니다. 특별한 지정이 없을 경우에 말이죠. 일단 $array[0]에는 1,2,3,4가

들어 있습니다. $array[1]에는 5,6,7,8이들어 있고... 그걸 위와 같이 표현하는

것입니다. 위와 같이 한배열안에 또한배열이 들어 있는 경우를 2차원 배열,

그다음 3차원 배열 뭐 이렇게 표현합니다. 좀 헛갈려서 그렇치 곰곰히 생각하면

충분히 이해가 가시리라 생각됩니다. 사실 다차원 배열은 간단한 알고리즘에서는

별로 쓰이질 않습니다. 그렇지만 복잡한 알고리즘을 구현할때 갈 수록 복잡해지는

코딩을 간단하게 만들어주고 잘 풀리지 않는 문제에서 중요한 key가 될 수 있으니

개념을 확실하게 이해 하시면 나중에 꼭 큰 도움이 될 것이라고 생각합니다. 그렇지만

도저히 이해가 가시지 않는 분들은 그냥 넘어가도 무방합니다. ^_^

구럼이제 html에서 form 전송에 대해 알아보고 배열을 실제로 이용해 보도록 합시다.

form이란 무엇인가... 초기에 html은 단순히 문서를 출력해 주는 정도에 지나지

않았다고 합니다. 그것은 단순한 전달 즉 단방향(One way)의 커뮤니케이션 일 수 밖에

없습니다. 그렇지만 기술이 발달하면서 쌍방향 커뮤니케이션이 필요해지고 그것을

구현하기 시작했습니다. httpd 포로토콜의 특성이 요청이 있을 경우에만 서버가 대답을

하는 것이므로 쌍방향 커뮤니케이션에는 분명히 한계가 있습니다. 그렇지만 여지것

나름데로 잘 발전시켜 왔고 구래서 인터넷이 이렇게 발전된 것이라고 할 수 있을 것입니다.

httpd포로토콜이 가지고 있는 한계를 극복하기 위해 많은 새로운 기술들이 나오고 있고

상당한 성과를 거둔 것이 사실이긴 하지만 아직도 httpd포로토콜은 인터넷의 중심에서

아주 당당히 버티고 있습니다. php역시 그런 httpd포로토콜의 특성에 잘 맞도록 만들어진

것이구염.. 음. 이야기가 자꾸 옆길로 가는 군염.. 흠흠.. 우찌 되었던 form은 사용자로부터

어떠한 요청을 받거나 정보를 받기 위해서 생겨난 것입니다. 방식은 Post와 Get 방식

두가지가 있는데 전송방식의 차이 입니다. get방식을 예로 들면 url에서

http://cafe7.daum.net/Cafe-bin/bbsView?bbsgrp=phplove 이런식으로 표현된 것입니다.

즉 url뒤에 ?를 붙이고 그뒤에 어떤 변수 bbsgrp를 만들고 거기에 phplove라는 값을 넣어서

전달하는 것입니다. url에 붙여서 전송을 하는 관계로 여러가지 불편한 점이 많습니다.

거기에 대해서는 나중에 좀더 자세히 예기 하기로 하고 여기서는 이런 저런 방식이 있구나

정도만 알고 넘어 가도 충분하리라고 생각합니다. 그러면 post방식은 무엇이냐. 이방식은

url에 붙여서 전송하는 방식의 한계를 극복하기 위해서 url에 붙여서 전송하지 않고

url이 전송될때 같이 전송되는 여러 가지 정보들에 꼽사리 껴서 넘어가는 방식입니다.

구러면 어케 표현이 되느냐..

<form method="Get" name="test" action="./test.php3"> 이건 get방식입니다.

구럼 post는 <form method="Post" name="test" action="./test.php3"> 간단하졈? 캬캬..

여기서 액션이란 form의 값들을 가지고 어떤 곳으로 갈것인가 target을 설정해 주는 부분임당.

진짜 별거 아닙니다. 구럼 이 form이란 넘은 어떤 것들로 구성이 되는가..

일단 한줄짜리 text를 받아들이는 text란 넘이 있습니다.

<input type="text" name="aaa" value="test">

input 이란 글자 그대로 뭔가를 밀어 넣으란 말이겠죠? html 문서에 text박스를

밀어 넣고 그것에 고유 이름을 aaa라고 하고 test라는 글자를 기본 값으로 출력하라는

말입니다. 다른 구성요소들도 비슷한 방식으로 출력 됩니다.

라디오 버튼을 살펴보면

<input type="radio" name="bbb" value="1">
<input type="radio" name="bbb" value="2">
<input type="radio" name="bbb" value="3">
<input type="radio" name "bbb" value="4">

라디오 버튼은 다중 선택이 되질 않습니다. 같은 이름을 가진 라디오 버튼 중에서

오직 하나 만이 값을 가지고 전송 될 수 있는 것입니다. 시험의 답을 체크한다던지

할때 사용할 수 있겠죠?

다음은 체크 박스입니다. 사용자들에게 관심사 등을 물어 볼대 쓰일 수 있겠죠?

<input type="checkbox" name="ccc" value="낙시">
<input type="checkbox" name="ddd" value="등산">
<input type="checkbox" name="eee" value="떵누기">

이런식으로 다중선택을 받을때 사용합니다.

다음은 콤보상자, 드롭다운 상자, list 상자라고 불리우는 넘이 있습니다.

이것 역시 하나의 값을 선택하게 할때 쓰입니다.

<select name="fff">
<option value="1">1이다</option>
<option value="2">2이다</option>
<option value="3">3이다</option>
<option value="4">4이다</option>
</select>

요런 식으로 쓰입니다.

긴 내용을 입력 받을때 사용하는 textarea라는 넘이 있습니다.

<textarea name="ggg" cols="55" rows="10">

        --------------------- [원본 메세지] ---------------------

나 php 공부한다~*(http://cafe.daum.net/phplove
게 시 판 : H _♡ PHP 강의란
번    호 : 6
제    목 : Re:4강에서 짤린내용
글 쓴 이 : 이광민
조 회 수 : 1383
날    짜 : 2000/11/08 19:49:42
내    용 :
역시나 내용이 길어서 짤렸군염.. --;; 확인을 했어야 하는데

죄송합니다.. --;; 갈수록 조회수가 줄어드는걸 보니 --;;

캬캬 곧 팬들의 성원에 힘입어 패강해야 할 날이 오겠군염

--;; 구래도 하는데 까지는 최선을 다해야 겠졈.. 허접한

강좌라도 읽어 주시는 분들께 감사드립니다..

<이어지는 내용:짤린부분>

긴 내용을 입력 받을때 사용하는 textarea라는 넘이 있습니다.

<textarea name="ggg" cols="55" rows="10">
가로로 55자 들어가고 세로로 10줄 들어가는 textarea 입니다. 마지막으로 우리의 hidden 카드 hidden이란 넘이 있습니다. 요넘 참 저은 넘입니다. 페이지를 이동할때 마다 항 상가지고 가야하는 값들을 가지고 다닐 수 있습니다. html소스상에만 나오고 실제로 viewer되지는 않으니까요.  이런식으로 사용합니다. 휴.. 폼에 대해서 대충알아 봤습니다. 자세한 사용법은 html 책이나 강좌를 찾아 보면 숨겨진 기능들이 많으니까 편리하게 사용하십시오. 또 자바 스크립트랑도 연동이 가능하니까염.. 써먹을때 많습니다. 이제 예제를 통해서 배열이 어케 쓰이는지 form에서 값덜이 어케 넘어 오는지 알아 봅시당.. 에공 힘들다. --;; 어제 추운데서 잤더니 또 감기 기운이 도는것 같습니당. 저번강에서 요런식으로 해서 checkbox를 만들어 준적이 있는데 기억하시죠? php에서는 form에서 넘어오는 값은 별다른 지정없이 form 개체의 이름을 그대로 변수명으로 받아서 쓸수 있습니다. 무지 편하게도.. checkbox를 사용할때는 어떤 공통점을 가진 일련의 값들중 선택을 해야 하기때문에 일괄적으로 처리해야 합니다. 값이 몇가지 되지 않을때는 문제가 않되겠지만 몇개인지 모를 경우와 너무 많은 경우 곤란하죠. 구래서 위와 같이 배열을 사용하여 이름을 표현하면 값이 넘어 왔을경우 이중변수를 사용한다던지 해서 처리할 수 있습니다. 음 예제로 daum의 회원 가입 폼을 분석해 봅시다. 넘 길어서 다올리지 못하겠군염. 그럼 다음 시간에.. --;;



  목록

 . 
 php 게시판 소스 2 
 php 게시판 소스 1 
 php 게시판 
 게시판 짜기위한 게시판 ^-^; 
 문자열 연결 연산자 . 마침표    : 스터디
 러닝 php 책소스    : 스터디
 php 폼 자동완성  비밀글입니다  : 폼테그
 디데이 d-day 만들기    : asp
 파일 include 하기    : 팁
 php 간단한 카운터    : 팁
 입력폼에서 엔터키 치면 스크립트 실행하기.    : 팁
 response체, request객체, server객체    : asp
 링크    : asp
 반복되는 링크 묶기    : asp
 ....  비밀글입니다  : 공지
 텟넷 명령어    : 팁
 텔넷 접속    : 팁
 간단한 방명록 소스    : 스터디
 사이트 [1]   : 팁
 mysql 기본설정    : MySql
 ssh    : 팁
 zterm    : 팁
 자바 키워드    : 팁
 자바개발 프로그램설치    : 팁
 [강의] 게시판 목록을 보여주는 부분입니다..    : 스터디
 while 문으로 이미지쉽게보이기 [2]   : 팁
 php 7-2    : 스터디
 php 7-1    : 스터디
 php 6    : 스터디
 php 5    : 스터디
 php4    : 스터디
 php3    : 스터디
 php2    : 스터디
 php1 [3]   : 스터디
 CREATE TABLE    : MySql
 SQL 1    : 스터디
 문단 양쪽정렬    : 스터디
 초간단 php 랜덤 이미지 및 랜덤 배경이미지 소스    : 팁
  [정보] 초보분들을 위한 PC부품 구매를 위한 도우미    : 팁
 쿠키를 이용한 사용자 인증    : 팁
 테이블 색 다르게 지정 하기 다른방법    : 팁
 자동링크 function    : 팁
 [리눅스] 리눅스 기본명령어 50    : 스터디
 my sql    : MySql
 Database의 구조    : 스터디
 데이터 베이스 1    : 스터디

    목록            1

Copyright 1999-2018 Zeroboard / skin by Yoojunge