Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
超初心者向けWebアプリ開発講座
Search
Uchida Yuma
September 20, 2017
Education
0
85
超初心者向けWebアプリ開発講座
Uchida Yuma
September 20, 2017
Tweet
Share
Other Decks in Education
See All in Education
Measuring your measuring
jonoalderson
0
280
2025年度伊藤正彦ゼミ紹介
imash
0
150
Human Perception and Cognition - Lecture 4 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.3k
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.3k
Surviving the surfaceless web
jonoalderson
0
280
1021
cbtlibrary
0
380
Going over the Edge
jonoalderson
0
270
AIは若者の成長機会を奪うのか?
frievea
0
150
いわゆる「ふつう」のキャリアを歩んだ人の割合(若者向け)
hysmrk
0
290
Sanapilvet opetuksessa
matleenalaakso
0
34k
外国籍エンジニアの挑戦・新卒半年後、気づきと成長の物語
hypebeans
0
690
20251023@天童市いこう会
koshiba_noriaki
0
120
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
2
77
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
58
41k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
97
Leo the Paperboy
mayatellez
0
1.3k
The Cult of Friendly URLs
andyhume
79
6.7k
Statistics for Hackers
jakevdp
799
230k
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
330
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
How to make the Groovebox
asonas
2
1.9k
Transcript
ະܦݧ͔Β͡ΊΔ WebΞϓϦ։ൃ גࣜձࣾϧʔτϓϥεɹଧా༟അ
ຊͷϝχϡʔ 1.ΠϯτϩμΫγϣϯ(40) 2.։ൃڥͷηοτΞοϓ(20) 3.PHPͰͷίʔσΟϯά(60) 4.࣍ճ༧ࠂ(10) 5.࣭ɺ͘͘λΠϜ(40)
• גࣜձࣾΛܦӦɹɹɹɹɹɹɹ දऔక ࣾ • 1988ੜ·Εͷ28ࡀ • ཧՊͷڭһ໔ڐΛॴ࣋ ࣗݾհ ଧా༟അ
• ٿɺࣗసंڝٕ *ࣸਅ࢜ࢁώϧΫϥΠϜϨʔε • WebΞϓϦ։ൃ • ࠷ۙσβΠϯڵຯ͋Γ ܦྺ • 20123݄ ຊେֶֶ෦ԽֶՊ ଔۀ • 20124݄ʙ 20168݄ ΩϠϊϯʢגʣͰϓϦϯλʔͷ৽։ൃɺɹɹɹ ࣭ཧʹैࣄ • 20169݄ גࣜձࣾϧʔτϓϥεΛઃཱ ϦΫΤετܕΠϯλʔϯγοϓใαΠτΛϩʔϯν झຯ
ϓϩάϥϛϯάεΩϧʹ͍ͭͯ • WebΞϓϦͷ։ൃ • ΦϒδΣΫτࢦϓϩάϥϛϯά • ֎෦APIΛͬͨ։ൃ Ͱ͖Δ͜ͱ ܦྺ 2015/11݄
)5.-$44 .Z42-1)1 खଓ͖ܕ *ϓϩάϥϛϯάΛ։࢝ 2016/6݄ *α൛ 1)1 ΦϒδΣΫτࢦ 2016/9݄ *ϩʔϯν Ϋϥυαʔόʔ Ͱͷ্ཱͪ͛ ֎෦"1*ͷར༻ 2017/3݄ ϑϨʔϜϫʔΫ ͷར༻ +"7" &DMJQTF 2016/12݄ *SNSϩάΠϯͳͲ ػೳՃ
ϓϩάϥϛϯάܦྺʹ͍ͭͯ ࠳ંVer 26ࡀ 23ࡀ "OESPJEΞϓϦɹ࠳ંʼʻ 24ࡀ 8FC੍࡞ɹ࠳ંʼʻ 3VCZPO3BJMTɹ࠳ંʼʻ 25ࡀ
+"7"࠳ંɹʼʻ Mac & iPhoneߪೖ J1IPOFΞϓϦɹ࠳ંʼʻ PHPελʔτ ίπ͕͔Ε୭ͰϓϩάϥϚʔ
ͳͥϓϩάϥϛϯάʹ࠳ં͢Δ͔ • Կ͔Β࢝ΊΕ͍͍͔Θ͔Βͳ͍ • ։ൃڥͷߏஙͰ᪴͘(ϓϩάϥϛϯάͷ४උ) • Τϥʔͷղܾํ๏͕Θ͔Βͳ͍ ϓϩάϥϜΛॻ͘ࣄҎ֎Ͱͷ͖͕᪴ཧ༝ ͍ͬͨͳ͍ʂ
ຊͷඪ • WebΞϓϦͷΈΛཧղ͢Δ • PHPΛͬͯจࣈͷग़ྗ͕Ͱ͖Δ ࣗྗͰϓϩάϥϛϯάֶश͕Ͱ͖ΔΑ͏ʹͳΔ
͜Μͳࣄ͕Ͱ͖·͢ ϓϩάϥϛϯάڭҭ WebΞϓϦ։ൃ ๏ਓͰͷறࡏҊ݅ ݪ॓ͷϕϯνϟʔاۀ ϝσΟΞӡӦ ݪ॓ͷϕϯνϟʔاۀ ϦΫΤετܕ ΠϯλʔϯγοϓใαΠτ ϚονϯάܥαʔϏεͷ
ґཔ͕ଟ͍Ͱ͢ ʙϓϩάϥϛϯάΛֶͿͱ͜ΜͳϝϦοτ͕ʙ
WebΞϓϦέʔγϣϯͱʁ • ΠϯλʔωοτଓΛલఏͱͨ͠ΞϓϦ • WebϒϥβͱWebαʔόʔ্Ͱಈ࡞͢Δ • ձһػೳΛ࣋ͭΞϓϦଟଘࡏ͢Δ
WebΞϓϦͷଓ Ϣʔβʔ ϒϥβΛ௨ͯ͡ ϦΫΤετ ϦΫΤετʹԠͯ͡ ϖʔδใΛฦ͢ Webαʔόʔ DBαʔόʔ ඞཁʹԠͯ͡ αʔόʔಉ͕࢜௨৴
WebΞϓϦέʔγϣϯͷΈ σʔλϕʔε͔Βͷग़͠ೖΕ σʔλͷग़͠ೖΕ σʔλͷड͚͠ Webϒϥβ σʔλϕʔε Webݴޠ͕հ
FacebookͰֶͿΈ σʔλϕʔεͷதΛςϯϓϨʔτʹදࣔ ݻ༗*% OBNF DPNQBOZ MBTU@DPNQBOZ BEESFTT QPTU@UJNF QPTU@DPOUFOU
ଧా༟അ גࣜձࣾ ϧʔτϓϥε ΩϠϊϯגࣜձࣾ ౦ژ࿅അ۠ ݄ ͜ͷɺגɾɾɾ σʔλϕʔεʢΠϝʔδʣ ݻ༗IDͰ ϢʔβʔΛࣝผ
FacebookͰͷ֤ݴޠͷׂ ݻ༗*% OBNF DPNQBOZ ଧా༟അ גࣜձࣾ ϧʔτϓϥε BEESFTT QPTU@UJNF
౦ژ࿅അ۠ ݄ ݟͨΛ࡞Δ σʔλͷཧ Ϣʔβʔ͔Βड͚औΔ σʔλͷอଘ σʔλͷऔΓग़͠ ϒϥβɺWebݴޠɺDBׂ͕Λ࣋ͬͯಈ͘
WebΞϓϦ։ൃͷྲྀΕ 1. اըɾཁ݅ఆٛ 2. ։ൃڥͷηοτΞοϓ 3. ϩʔΧϧڥͰͷ։ൃ 4. Webαʔόʔʹઃஔ 5.
ςετ 6. ެ։ ཁ݅ఆٛ ࠓͷϝΠϯ
ී௨ͷ։ൃڥ(ϩʔΧϧڥ)ͱ ࣗͷPC্ͰΠϯλʔωοτଓΛ࠶ݱ ٖࣅαʔόʔ 1$ͷதʹ1$Λ࡞Δ ΞΫηε
ϩʔΧϧ։ൃڥͷߏஙखॱ ࡶͳͨΊɺॳ৺ऀ࠳ં͍͢͠ 1.ԾϚγϯΛઃஔ 2.ίϚϯυϥΠϯ͔ΒԾϚγϯΛૢ࡞ 3.OS(Linux)ΛΠϯετʔϧ 4.ϛυϧΣΞ(Mysql,PHPͳͲͷιϑτ)Λɹ Πϯετʔϧ 5.FTPιϑτͰԾϚγϯʹΞΫηε
ͱ͍͏͜ͱͳͷͰʂ ϩʔΧϧ։ൃڥ͔Βಀ͛·͢
͜Ε͔ΒΫϥυ։ൃڥΛ ηοτΞοϓ͍͖ͯ͠·͠ΐ͏ʂ
Ϋϥυ։ൃڥ ʙϩʔΧϧ։ൃڥΛϒϥβͷதʹ࠶ݱʙ ٖࣅαʔόʔ 1$ͷதʹ1$Λ࡞Δ ΞΫηε
Cloud9ͱ ϒϥβͷதʹϩʔΧϧڥΛ࠶ݱͰ͖ΔαʔϏε ݁ՌදࣔΤϦΞ ։ൃΤϦΞ ϑΝΠϧཧ ΤϦΞ
Cloud9Ͱ͓खܰ։ൃ ʙϩʔΧϧ։ൃڥߏஙͱͷൺֱʙ $MPVE ϩʔΧϧ։ൃڥ ηοτΞοϓ࣌ؒ ؙ ༻πʔϧ ίϚϯυૢ࡞ ͳ͠
ඞཁ ৄࡉઃఆ ϓϩάϥϛϯάΛֶशతͳΒCloud։ൃڥ ϒϥβ όʔνϟϧϘοΫε ʴϕΠάϥϯτ
Ϋϥυ9ͷձһొ ϝʔϧΞυϨε ΫϦοΫ ϝʔϧΞυϨεͰ؆୯ʹొͰ͖·͢
Ϋϥυ9ͷϩάΠϯ ϝʔϧΞυϨε ύεϫʔυ ઌ΄ͲͷϝʔϧΞυϨεͱύεϫʔυͰϩάΠϯ
࡞ۀεϖʔεͷηοτΞοϓ ϩάΠϯޙ͜ͷը໘Ͱ͋Δ͜ͱΛ֬ೝ ʴΛΫϦοΫ WorkSpaceͷʴΛΫϦοΫͯ͠࡞ۀεϖʔεΛ࡞
ඞཁ߲ͷೖྗ ϓϩάϥϜͷ໊લ PHPΛબͿ ͷϘλϯΛΫϦοΫ ͨͬͨ3εςοϓͰOK 1. ໊લΛೖྗ 2. ͏ݴޠΛબͿ 3.
OKϘλϯΛԡ͢ ۭനͰOK ۭനͰOK
։ൃڥ͕ ೖྗͨ͠ϓϩάϥϜ໊ͷϑΥϧμ͕ଘࡏ͢ΕOK
PHPͰϓϩάϥϜΛॻ͜͏ʂ
ࠓͷษڧձͰѻ͏ൣғ σʔλͷग़͠ೖΕ σʔλͷड͚͠
ࠓͷඪ PHPͰจࣈΛग़ྗͰ͖Δ PHPͱHTMLΛΈ߹ΘͤͯίʔσΟϯάͰ͖Δ HTML͔Βड͚औͬͨจࣈΛPHPͰ͑Δ
͜ͷϓϩάϥϜΛ࡞͍͖ͬͯ·͢
PHPϑΝΠϧͷ४උ 1.Կͳ͍ॴͰӈΫϦοΫ 2.New File 3.index.phpͱೖྗ ʙαΠτʹΞΫηεͨ͠ࡍʹಡΈࠐ·ΕΔϑΝΠϧΛ࡞ʙ index.php͕࠷ॳʹಡΈࠐ·ΕΔ
HTMLͷ४උ ~PHPʹσʔλΛૹΔͨΊͷϑΥʔϜΛ༻ҙ͍͖ͯ͠·͢~ ຊޠ จࣈͷॲཧํ๏ ϒϥβͷදࣔ͞ΕΔλΠτϧ bodyλάͷؒʹ ॻ͔Εͨͷ͕ ϒϥβʹදࣔ͞ΕΔ formλάॏཁͳͷͰ࣍ϖʔδͰৄ͘͠ղઆ
formλάͷղઆ ~formλάͰPHPͱ࿈ܞ~ ࣍formͷதΛॻ͍͍͖ͯ·͢ formλάͱʁ σʔλΛૹ৴͢ΔͨΊͷϑΥʔϜΛ ࡞ΔͨΊͷλά ࠓճ͏formλάͷॻ͖ํ <form action=“” method=“post”>
</form> •action:ૹ৴ͨ࣌͠ͷಈ͖ •method:σʔλͷૹ৴ํ๏ ಉ͡ϖʔδͰσʔλΛड͚औΔͷͰۭ postͱget͕͋ΔɻࠓPOSTΛ༻
<form action=“” method=“post”> <input type=“text” name=“data”> <input type=“submit” name=“datapost” value=“໊લΛૹ৴”
</form> formͷதΛ࡞Ζ͏ จࣈྻ σʔλͷϥϕϧ(ҙʹܾΊΒΕΔ) σʔλͷϥϕϧ(ҙʹܾΊΒΕΔ) ϑΥʔϜσʔλͷૹ৴
PHPͰσʔλΛड͚औΖ͏ <form action=“” method=“post”> <input type=“text” name=“data”> <input type=“submit” name=“datapost”
value=“໊લΛૹ৴”> </form> ͜ͷϑΥʔϜ(postϝιου)ʹೖྗͨ͠σʔλ PHPͰ͏ࡍʹ$_POST[“data”]Ͱड͚औΔ͜ͱͰ͖Δ ˎHTMLϑΥʔϜͰૹ৴ͨ͠σʔλPHPͷม$_POSTʹ֨ೲ͞ΕΔ
<?php echo $_POST[“data”]; ?> ड͚औͬͨσʔλΛPHPͰදࣔ ~PHPͰจࣈྻΛදࣔ͢Δʹʁ HTMLͷதʹPHPΛॻ͘ʹ จࣈྻΛग़ྗ͢Δ໋ྩ ֯εϖʔε HTML͔Βड͚औͬͨσʔλ
໋ྩͷ࠷ޙηϛίϩϯ
PHPͰϒϥβʹจࣈΛදࣔ͠Α͏ <body> <h1>σʔλड͚औΓϓϩάϥϜ</h1> <p>໊͓લΛೖྗ͍ͯͩ͘͠͞</p> <form action="" method="post"> <input type="text"
name="data"> <input type="submit" name="datapost"> </form> <?php echo $_POST["data"]; ?> </body> </html> HTMLͷதʹPHPΛॻ͘ʹ ද͍ࣔͤͨ͞෦ʹ PHPεΫϦϓτΛૠೖ
࣍ճ༧ࠂ
σʔλϕʔεૢ࡞ฤ σʔλͷग़͠ೖΕ σʔλͷड͚͠