์ƒˆ์†Œ์‹

Languages/PHP

[์›น์•ฑ ์™„์„ฑํ•˜๊ธฐ] ํผ๊ณผ POST

  • -
๋ฐ˜์‘ํ˜•

์ด ๋‚ด์šฉ์€ ์ฒ˜์Œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ์ž‘ํ•˜๋Š” ์ž…๋ฌธ์ž์˜ ๋ˆˆ๋†’์ด์— ๋งž์ถ˜ ์ƒํ™œ์ฝ”๋”ฉ!

php+mysql ์ฑ…์˜ ๋‚ด์šฉ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์Šค์Šค๋กœ ๊ณต๋ถ€ํ•˜๊ณ , ๊ณต๋ถ€ํ•œ๊ฒƒ์„ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

์‹ค์Šต์€ html ํผ์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ์ง€์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‘๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ดˆ์ ์ด๊ฑฐ๋‚˜, ํƒœ๊ทธ ๊ด€๋ จํ•œ ์„ค๋ช…์€ ์ถ”ํ›„์— ๋”ฐ๋กœ ํฌ์ŠคํŒ… ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 


์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ์‚ฌ์šฉ์ž๋“ค์ด ์›น์„ ํ†ตํ•ด ์ž์‹ ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด๋ณด๊ฒ ๋‹ค.

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ธ€ ์“ฐ๊ธฐ, ๊ธ€ ์‚ญ์ œ, ๊ธ€ ์ˆ˜์ • ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์‹ค์Šตํ•ด๋ณด์ž!

 

์ •๋ณด์‹œ์Šคํ…œ์„ ๋‹ค๋ฃฌ๋‹ค๊ณ  ํ•˜๋ฉด ๊ทธ ์ •๋ณด์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ์€ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด๋‹ค.

๊ธ€์“ฐ๋Š” ํ”Œ๋žซํผ์ด๋ผ๋ฉด ๊ธ€์„ ์“ฐ๋Š” ๊ฒƒ๊ณผ ๊ธ€์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ๋ณธ์งˆ์ ์œผ๋กœ ๋งจ ๋จผ์ € ํ™•์ธํ•˜๊ณ  ๊ณต๋ถ€ํ•ด์•ผ ํ•  ๋Œ€์ƒ์ด๋‹ค.

์ด๋ฅผ CRUD(Create Read Update Delete)๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ํ•ญ์ƒ ์ •๋ณด์‹œ์Šคํ…œ์—์„œ ๋งจ ๋จผ์ € ํ•ด์•ผ ํ•  ์ผ์€ ์ถ”๊ฐ€ํ•˜๊ณ , ์ฝ๊ณ , ์ˆ˜์ •ํ•˜๊ณ , ์‚ญ์ œํ•˜๋Š” ์ž‘์—…์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์ ๊ฒ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 


๋จผ์ € ๊ธ€์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ ์ฆ‰ "ํผ๊ณผ POST"์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ๋‹ค.

 

์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์„œ๋ฒ„ ์ชฝ์œผ๋กœ ์ „์†กํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํผ(form)์ด๋ž€ ๊ฒƒ์„ ์‚ดํŽด๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

 

์•„๋ž˜ ์‹ค์Šต์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด์ž.

 

<input>ํƒœ๊ทธ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ •๋ณด๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” htmlํƒœ๊ทธ์ด๋‹ค. ์ด ์†์„ฑ์„ 'text'๋ผ๊ณ  ์ง€์ •ํ•˜๋ฉด ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ๋ฐ›๋Š” ๋„ค๋ชจ์ƒ์ž์ธ ํ…์ŠคํŠธ ํ•„๋“œ๊ฐ€ ๋‚˜์˜จ๋‹ค. 

 

 

์œ„์™€ ๊ฐ™์ด ๊ธฐ๋ณธ์ ์ธ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด ์ž…๋ ฅ ํผ์ด ์ƒ๊ธด๋‹ค. 

placeholder๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๋„์šฐ๋ฏธ ์—ญํ• ์„ ํ•œ๋‹ค.

์‚ฌ์šฉ์ž๋Š” Title์ด๋ผ๋Š” ๊ธ€์”จ๋ฅผ ํ™•์ธ ํ•˜๋ฏ€๋กœ์จ "์ œ๋ชฉ์„ ์ด๊ณณ์— ์ ๋Š” ๊ฒƒ์ด๊ตฌ๋‚˜~"ํ•˜๊ณ  ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

Title์ด๋ผ๊ณ  ์ ํžŒ๊ณณ์— ๊ธ€์ž๋ฅผ ์ž…๋ ฅํ•˜๋ฉด Title ๊ธ€์ž๋Š” ์—†์–ด์ง„๋‹ค.

 

 

์ •๋ณด๋ฅผ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด type์„ submit์œผ๋กœ ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค. (ํƒœ๊ทธ์— ๊ด€๋ จ๋œ ์„ค๋ช…์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค.)

 

ํŽ˜์ด์ง€๋ฅผ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋ ค๋ฉด, ์–ด๋–ค ํŽ˜์ด์ง€๋กœ ์ „๋‹ฌํ•  ๊ฒƒ์ธ์ง€ action์ด๋ž€ ์†์„ฑ์„ ์ฃผ์–ด์•ผ ํ•˜๋ฉฐ name ์†์„ฑ ์ฆ‰ ๋„˜๊ฒจ์ค„ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

๋˜ํ•œ ์ •๋ณด๋ฅผ ๋ฐ›๋Š” ํŽ˜์ด์ง€ ์—ญ์‹œ ๊ฐ’์„ ๋ฐ›์•„์˜ค๋Š” ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด ์•ˆ๋œ๋‹ค. (์—†์œผ๋ฉด 404 ์—๋Ÿฌ)

 

๐Ÿ“Œ ์•Œ๊ณ ๊ฐ€๊ธฐ

์ •๋ณด๋ฅผ ์ „๋‹ฌํ•  ๋•Œ URLํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌํ•œ๋‹ค.
URLํŒŒ๋ผ๋ฏธํ„ฐ๋Š” $_GET[ ] ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, $_GET์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?

์ •๋‹ต์€ ๋ฐฐ์—ด์ด๋‹ค. ์—ฌํƒœ๊นŒ์ง€๋Š” 0, 1, 2์™€ ๊ฐ™์€ ์ˆซ์ž๋งŒ ๋“ค์–ด๊ฐ€๋Š” ๋ฐฐ์—ด์„ ๋ฐฐ์› ์ง€๋งŒ, ์ˆซ์ž ๋Œ€์‹  ๋ฌธ์ž๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด๋„ ์žˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ๋ฐฐ์—ด์„ ์—ฐ๊ด€๋ฐฐ์—ด(associative array)๋ผ๊ณ  ํ•œ๋‹ค.

 

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ , ์ •๋ณด๋ฅผ ์„œ๋ฒ„์— ์ „์†ก ๋ฐ ์„œ๋ฒ„์—์„œ ์ „์†ก๋œ ์ฝ”๋“œ๋ฅผ ์ฝ์–ด์„œ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์„ ์‹ค์Šตํ•ด๋ณด์ž.

 

: form.html

 

 

์„œ๋ฒ„์— ์ „์†กํ•  ์ฝ”๋“œ๋Š” form ํƒœ๊ทธ๋กœ ๊ฐ์‹ผ ํ›„ action์œผ๋กœ form.php๋กœ ๋ณด๋ƒ„.

 

 

: from.php

 

Get๋ฐฉ์‹์œผ๋กœ ์ „๋‹ฌ๋ฐ›์€ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ echo๋กœ ์ถœ๋ ฅํ•จ.

 

 

:์›น์—์„œ form.html ํ™”๋ฉด

 

 

title๊ณผ content์— ์ž…๋ ฅ ํ•œ ๊ฐ’์„ Go ๋กœ ์ „์†กํ•˜๋ฉด form.php์—์„œ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 

 

์ด ๋งฅ๋ฝ์„ ํ†ตํ•ด PHP์—์„œ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด๋ณด๋„๋ก ํ•˜์ž.

 

ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” ํ•จ์ˆ˜๋Š” file_put_contents() ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ๊ฒฝ๋กœ, ๋‘ ๋ฒˆ์งธ ์ธ์ž๋กœ content๋ฅผ ์ง€์ •ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์•ž์˜ ์ฃผ์†Œ๋กœ ๋“ค์–ด๊ฐ”์„ ๋•Œ data ๋””๋ ‰ํ„ฐ๋ฆฌ์— PHP๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.

 

 

 

๋•Œ๋ฌธ์—, URL์— ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜๋Š” ๋ฐฉ์‹์€ ์ข‹์€ ๋ฐฉ์‹์ด ์•„๋‹ˆ๋‹ค.

์ž์‹ ์ด ์›ํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ ๊ธ€์ด ์ž‘์„ฑ๋  ์ˆ˜๋„ ์žˆ๊ณ , ๋ณด์•ˆ์ƒ์œผ๋กœ๋„ ์•ˆ์ „ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— 

URL ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ์ชฝ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒƒ์€ ๋ถ๋งˆํฌ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

์ฆ‰ ์–ด๋–ค ์ฝ˜ํ…์ธ ๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๊ณต์œ ํ•  ๋•Œ ์ ํ•ฉํ•œ ๋ฐฉ์‹์ด๋‹ค.

 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— URL์„ ์“ฐ์ง€์•Š๊ณ  ์€๋ฐ€ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋ฐฉ์‹์„ POST ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•˜๊ณ 

๋ฐ”๋กœ ์•„๋ž˜์ฒ˜๋Ÿผ form์— method ์†์„ฑ์„ 'post'๋กœ ์ฃผ๋ฉด๋œ๋‹ค.

 

 

form.html
form.php

 

 

๋ณด๋‚ผ๋•Œ htmlํ™”๋ฉด์€ ๊ฐ™์ง€๋งŒ

 

 

 

 

๋„˜์–ด๊ฐˆ ๋•Œ url๋กœ ๋„˜์–ด๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹Œ body์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.(header์— body)

 

 

 

 

[F12]๊ฐœ๋ฐœ์ž ๋ชจ๋“œ๋กœ header์ •๋ณด๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.