SlideShare a Scribd company logo
How to build a web app
Or at least how to understand what a web app is better than you do now.




                1
hey, it’s noah
  2
3
4
My Story




     5
6
7
What is $44.6 billion?




      8
9
10
Big Barrier #1
How do you pass stuff from one page to another?




                11
12
It’s pretty much all forms
You hit a submit button and do something with a user’s data




                13
But how do you do it?
How do you take what someone types in and build something to respond to it?




                14
Let’s talk about HTTP
“HTTP functions as a request-response protocol in the client-server computing
model.”




                15
In english ...
HTTP is a set of nine things you can ask/tell a server.




                 16
The Big Nine

1. HEAD
2. GET
3. POST
4. PUT
5. DELETE
6. TRACE
7. OPTIONS
8. CONNECT
9. PATCH



             17
The Big Nine Two

1. HEAD
2. GET
3. POST
4. PUT
5. DELETE
6. TRACE
7. OPTIONS
8. CONNECT
9. PATCH



             18
GET
For getting data (aka asking for something)




                19
POST
For posting data (aka submitting it)




                20
Simple enough, right?
But what does it really mean?




                21
How to Build a Web App (for Non-Programmers)
23
ÜííéWLLïïïKÖooÖäÉKÅoãL
ëÉ~êÅÜèZé~ëëáåÖHÇ~í~HÑêoã
HoåÉHé~ÖÉHíoH~åoíÜÉê
CÄíådZdooÖäÉHpÉ~êÅÜC~èZÑCoèZ


      24
ÜííéWLLïïïKÖooÖäÉKÅoãL
ëÉ~êÅÜèZé~ëëáåÖHÇ~í~HÑêoã
HoåÉHé~ÖÉHíoH~åoíÜÉê
CÄíådZdooÖäÉHpÉ~êÅÜC~èZÑCoèZ


      25
search?q=passing+data
+from+one+page+to
+another
1. search
2. ?
3. q=
4. passing+data+from+one+page+to+another




              26
search?q=passing+data
+from+one+page+to
+another
1. search (page that is processing the data)
2. ? (start of query string)
3. q= (field name)
4. passing+data+from+one+page+to+another (query)




                  27
When you type in any URL
Your browser is making a GET request.




               28
So the very easiest way to
pass data between pages
Is by putting it in the URL. You already do this, you just don’t realize it.




                  29
30
ÜííéWLL
ïïïKÜoïãìÅÜÇoÉëáíÄìóKÅoãL
ÅoëíëKéÜé
ïÜ~íZ~PUMCãoåÉóZTUTHÄáääáoå


      31
32
To get started making
simple web apps
All you need is two things ...




                  33
1. How to make a web form




     34
2. How to do something with
the data in the URL on the
other end




     35
<form method=“get” action=“webapp.php”>
   <input type=“text” name=“stuff”>
   <input type=“submit”>
</form>




              36
Page that will
   HTTP request method                      process our request
               (passed in URL)




<form method=“get” action=“webapp.php”>
   <input type=“text” name=“stuff”>
   <input type=“submit”>
</form>
                                 Name input will be
                                 saved under




              37
Page that will
   HTTP request method                      process our request
               (passed in URL)




<form method=“get” action=“webapp.php”>
   <input type=“text” name=“stuff”>
   <input type=“submit”>
</form>
                                 Name input will be
                                 saved under


         webapp.php?stuff=WHATEVERPEOPLETYPEIN

              38
39
What will the URL be?




     40
ÜííéWLLóoìêÇoã~áåKÅoãL
ãóÑáêëíïÉÄ~ééLïÉÄ~ééKéÜé
ëíìÑÑZëïÉÉíåÉëë



      41
Now we just need to figure
out how to get stuff down
At this point we turn to our trusty language of choice.




                 42
PHP
PHP Hypertext Protocol




               43
That’s right
It’s a RECURSIVE INITIALISM!




              44
Every language has its own
syntax for this stuff
We’re going to be using PHP because that’s what I know.




                45
So how do I get stuff down
from the URL in PHP?
It’s simple really.




                  46
<? $_GET[‘stuff’];?>
That’s it. It’s all about what you do with it from there.




                 47
<? print $_GET[‘stuff’];?>




      48
49
<strong><? print $_GET
[‘stuff’];?></strong>




     50
51
You wrote: <strong><?
print $_GET[‘stuff’];?></
strong>




      52
53
We’ll dig in on more syntax
later ...
But you get the drift.




                 54
POST
The other way to pass data.




                55
POST is generally used for
data you’re going to save.
But for now let’s just think of it as data you don’t want to show up in a URL.




                 56
Like a password ...




      57
<form method=“post” action=“checkpassword.php”>
   Password: <input type=“password” name=“password”>
   <input type=“submit”>
</form>




              58
59
<?
if($_POST['password'] == 'password1') {
   print 'AWESOMECAKE!';
} else {
   print 'FAIL!';
}
?>




                60
61
<?
if($_POST['password'] == 'password1') {
   print 'AWESOMECAKE!';
} else {?>
   You got the password wrong, try again.<br />
   <form method="post" action="checkpassword.php">
       Password: <input type="password" name="password">
       <input type="submit">
   </form>
<?}
?>


               62
63
That about covers barrier #1
Let’s do a quick recap




                 64
Two main ways to pass data
between pages?




     65
GET & POST




     66
Which one saves data in the
URL string?




      67
GET




      68
Where does it put it?




      69
URL: page.php?name=value




     70
Big Barrier #2
What the hell is a database?




                 71
72
73
     Column
Row




74
Table

   75
SELECT column_name
FROM table_name WHERE
column = value




    76
77
SELECT * FROM sheet1
WHERE state = ‘CA’




     78
79
INSERT into table_name
(column1,column2) VALUES
(value1,value2)




     80
81
INSERT INTO sheet1
VALUES (‘Noah Brier’, ‘1
Noah Street’, ‘NY’, ‘NY’,
‘10032’)



      82
83
Let’s write some code




      84
Download These


MAMP: http://www.mamp.info/en/downloads/index.html


TextWrangler: http://www.barebones.com/products/textwrangler/
download.html


Code: http://noahbrier.com/planningness.zip


OR YOU COULD GO TO http://noahbrier.com/planningness




                85
86
87
88
89
90
91
92
93
The Basics



✤   $string = ‘string’;
✤   if($string == ‘string’) {print this;}
✤   else {print that;}
✤   $_GET[‘field_name’];




                     94

More Related Content

What's hot (20)

PPTX
CouchDB Day NYC 2017: Mango
IBM Cloud Data Services
 
PPTX
How to optimise TTFB - BrightonSEO 2020
Roxana Stingu
 
PDF
Delete statement in PHP
Vineet Kumar Saini
 
PDF
REST, the internet as a database?
Andrej Koelewijn
 
PDF
Malcon2017
Andriy Brukhovetskyy
 
PPTX
CouchDB Day NYC 2017: MapReduce Views
IBM Cloud Data Services
 
PDF
MeshU Thin & Rack
guestbac5dc
 
PPTX
Token Based Authentication Systems
Hüseyin BABAL
 
PPTX
2018 03 20_biological_databases_part3
Prof. Wim Van Criekinge
 
PDF
HTTP cookie hijacking in the wild: security and privacy implications
Priyanka Aash
 
PPTX
3 php forms
hello8421
 
PDF
Coming to Terms with GraphQL
Bruce Williams
 
PPTX
CouchDB Day NYC 2017: JSON Documents
IBM Cloud Data Services
 
PPTX
How I built the demo's
Glenn Jones
 
PPTX
My First Cluster with MongoDB Atlas
Jay Gordon
 
PPTX
Creating Operational Redundancy for Effective Web Data Mining
Jonathan LeBlanc
 
PPTX
How to connect social media with open standards
Glenn Jones
 
PDF
The Backside of the Class (CSS Day 2015)
Stephen Hay
 
KEY
Chirp 2010: Too many secrets, but never enough: OAuth at Twitter
Taylor Singletary
 
PPTX
BrightonSEO
Richard Falconer
 
CouchDB Day NYC 2017: Mango
IBM Cloud Data Services
 
How to optimise TTFB - BrightonSEO 2020
Roxana Stingu
 
Delete statement in PHP
Vineet Kumar Saini
 
REST, the internet as a database?
Andrej Koelewijn
 
CouchDB Day NYC 2017: MapReduce Views
IBM Cloud Data Services
 
MeshU Thin & Rack
guestbac5dc
 
Token Based Authentication Systems
Hüseyin BABAL
 
2018 03 20_biological_databases_part3
Prof. Wim Van Criekinge
 
HTTP cookie hijacking in the wild: security and privacy implications
Priyanka Aash
 
3 php forms
hello8421
 
Coming to Terms with GraphQL
Bruce Williams
 
CouchDB Day NYC 2017: JSON Documents
IBM Cloud Data Services
 
How I built the demo's
Glenn Jones
 
My First Cluster with MongoDB Atlas
Jay Gordon
 
Creating Operational Redundancy for Effective Web Data Mining
Jonathan LeBlanc
 
How to connect social media with open standards
Glenn Jones
 
The Backside of the Class (CSS Day 2015)
Stephen Hay
 
Chirp 2010: Too many secrets, but never enough: OAuth at Twitter
Taylor Singletary
 
BrightonSEO
Richard Falconer
 

Viewers also liked (7)

PPTX
Introduction Node.js
Erik van Appeldoorn
 
PPTX
Introduction to Node.js
Vikash Singh
 
PDF
Brand Tags
Noah Brier
 
PDF
Node Foundation Membership Overview 20160907
NodejsFoundation
 
PDF
Visual Design with Data
Seth Familian
 
PDF
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
PDF
Build Features, Not Apps
Natasha Murashev
 
Introduction Node.js
Erik van Appeldoorn
 
Introduction to Node.js
Vikash Singh
 
Brand Tags
Noah Brier
 
Node Foundation Membership Overview 20160907
NodejsFoundation
 
Visual Design with Data
Seth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
Build Features, Not Apps
Natasha Murashev
 
Ad

Similar to How to Build a Web App (for Non-Programmers) (20)

PPT
Intro to php
Sp Singh
 
PPTX
How to Leverage APIs for SEO #TTTLive2019
Paul Shapiro
 
PDF
Os Pruett
oscon2007
 
PPT
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Mike Schinkel
 
PDF
Intro to Php Security
Dave Ross
 
PPT
PHP-04-Forms PHP-04-Forms PHP-04-Forms PHP-04-Forms
ZahraWaheed9
 
PPTX
Dynamic documentation - SRECON 2017
Daniel ( Danny ) ☃ Lawrence
 
PDF
Sperimentazioni di Tecnologie e Comunicazioni Multimediali: Lezione 5
Salvatore Iaconesi
 
PDF
Diving into php
Dan Phiffer
 
KEY
The Devil and HTML5
Myles Braithwaite
 
PDF
Api
randyhoyt
 
PDF
Agile Wordpress
Filippo Dino
 
PDF
Build PHP Search Engine
Kiril Iliev
 
PPT
PHP-04-Forms.ppt
NatureLifearabhi
 
KEY
Spiffy Applications With JavaScript
Mark Casias
 
PPT
PHP is a widely-used, open-source, server-side scripting language that is esp...
abhinandankondekar2
 
PDF
Integrating WordPress With Web APIs
randyhoyt
 
PPT
PHP-08-POST-Redirect-Authn-Slideshare.ppt
chelmisillie
 
PPT
PHP complete reference with database concepts for beginners
Mohammed Mushtaq Ahmed
 
Intro to php
Sp Singh
 
How to Leverage APIs for SEO #TTTLive2019
Paul Shapiro
 
Os Pruett
oscon2007
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Mike Schinkel
 
Intro to Php Security
Dave Ross
 
PHP-04-Forms PHP-04-Forms PHP-04-Forms PHP-04-Forms
ZahraWaheed9
 
Dynamic documentation - SRECON 2017
Daniel ( Danny ) ☃ Lawrence
 
Sperimentazioni di Tecnologie e Comunicazioni Multimediali: Lezione 5
Salvatore Iaconesi
 
Diving into php
Dan Phiffer
 
The Devil and HTML5
Myles Braithwaite
 
Agile Wordpress
Filippo Dino
 
Build PHP Search Engine
Kiril Iliev
 
PHP-04-Forms.ppt
NatureLifearabhi
 
Spiffy Applications With JavaScript
Mark Casias
 
PHP is a widely-used, open-source, server-side scripting language that is esp...
abhinandankondekar2
 
Integrating WordPress With Web APIs
randyhoyt
 
PHP-08-POST-Redirect-Authn-Slideshare.ppt
chelmisillie
 
PHP complete reference with database concepts for beginners
Mohammed Mushtaq Ahmed
 
Ad

More from Noah Brier (9)

PDF
Brand Tags & The Advantage of Small Products
Noah Brier
 
PDF
Everything is Media
Noah Brier
 
PDF
Thinking About Innovation
Noah Brier
 
ZIP
How I Learned to Stop Worrying and Love the Internet
Noah Brier
 
ZIP
How I Learned to Stop Worrying and Love the Internet
Noah Brier
 
PDF
Making Stuff on the Internet
Noah Brier
 
PDF
Brand Vs Utility
Noah Brier
 
PDF
The Great Re-bundling Debate: Should Media and Creative Come Back Together?
Noah Brier
 
PDF
Noah Brier on Social Media
Noah Brier
 
Brand Tags & The Advantage of Small Products
Noah Brier
 
Everything is Media
Noah Brier
 
Thinking About Innovation
Noah Brier
 
How I Learned to Stop Worrying and Love the Internet
Noah Brier
 
How I Learned to Stop Worrying and Love the Internet
Noah Brier
 
Making Stuff on the Internet
Noah Brier
 
Brand Vs Utility
Noah Brier
 
The Great Re-bundling Debate: Should Media and Creative Come Back Together?
Noah Brier
 
Noah Brier on Social Media
Noah Brier
 

Recently uploaded (20)

PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
July Patch Tuesday
Ivanti
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 

How to Build a Web App (for Non-Programmers)