CS 380 Web Programming - UMD Department of Computer Science

Download Report

Transcript CS 380 Web Programming - UMD Department of Computer Science

1
CMSC389P: INTRODUCTION TO
PHP, MYSQL AND APACHE
Winter 2015
Instructor: Dr. Anwar Mamat
Course Objectives
2

At the end of this class you will be able to:
 Create
web pages using HTML, CSS
 Use PHP server programming
 Submit Forms
 Cookies and Sessions
 Files and Directories
 Relational Database and MySQL
 SQL queries
 Interacting with MySQL using PHP
Why did you take CMSC389P?
3
Lectures
6



We meet at 11:30am-12:30pm, everyday, at CSI
2117
Check the schedule in the class webpage
Password protected sections.
 User:



cmsc389p, password:webprogramming
Read the syllabus and policies carefully
Check piazza.com for discussions and questions.
Search CMSC389p, Spring 2015. No winter option.
How to get help
7




office hours: Monday through Thursday, immediately
after class.
Or set an appointment with me
via e-mail
No textbook.
Reference:
“Web Programming Step by Step”
by Marty Stepp, Jessica Miller,
Victoria Kirst
Grading
8
Project 1
Project 2
Project 3
Project 4
Total
 Projects
15%
20%
25%
40%
100%
will be posted online on the class webpage
Policies
7




You may discuss homework problems with
classmates, after you have made a serious effort in
trying the homework on your own.
You can use ideas from the literature (with proper
citation).
You can use anything from the lectures/notes.
The code you submit must be written completely
by you.
Software Installation


Alternatives for Apache, MySQL, and PHP
 Individual installation of packages (See Resources section, web page)
 Bundles (include Apace, MySQL, PHP, OpenSSL, etc.)
 XAMPP (Linux, Windows)
 http://www.apachefriends.org/en/xampp.html
 Mac is also supported although you may want to try MAMP(see below)
 MAMP Macintosh, Apache, MySQL, and PHP
 http://www.mamp.info/en/mamp.html
 We are using free version (Not MAMP PRO)
Alternatives for Editors
 Notepad/WordPad or any other text editor 
 Komodo Edit
 http://www.activestate.com/komodo_edit/
 Do not confuse with Komodo IDE (Not free)
 Works in Windows, Max, Linux
 Eclipse + PHP Plugin


Instructions available at http://www.zend.com/en/community/pdt
Your assignment for tomorrow
 Install Apache and PHP
8
Web Hosting
9





As a student of the university you have a directory (folder) where you can place your html
documents so they can be accessed on the web
Location of your folder
 Machine: terpconnect.umd.edu
 Login by using your directoryID/Password combination
 Folder location: /pub/YOURDIRECTORYID
To activate:
 Visit http://www.it.umd.edu/new/
Web Page Address: http://www.terpconnect.umd.edu/~YOURDIRECTORYID
 Notice there is a ~ before your directory id
Software/Instructions to Transfer Data


http://www.cs.umd.edu/~nelson/classes/utilities/TransferingDataToTerpconnect/
Free/Low Cost web hosting

http://www.cs.umd.edu/~nelson/nicesites/SmallBusinessWebsites.html
15
The INTERNET… and a bit of history
What is the internet?
11


A collection of computer networks that use a
protocol to exchange data
Is the World Wide Web (WWW) and the internet
the same?
Brief history
12
Began as a US Department of Defense
network called ARPANET (1960s-70s)
 Packet switching (in the 60s)
 E-mail is born on 1971
 TCP/IP beginning on 1974 (Vinton Cerf)
 USENET (1979)
 By 1987: Internet includes
nearly 30,000 hosts

Brief history (cont.)
13


WWW created in 1989-91 by Tim Berners-Lee
Popular web browsers released:
 Netscape
 IE





1994
1995
Amazon.com opens in 1995
Google January 1996
Wikipedia launched in 2001
MySpace opens in 2003
Facebook February 2004



14
Wikipedia launched in 2001
MySpace opens in 2003
Facebook February 2004
CS380
The future of the internet?
15
Key aspects of the internet
16





Sub-networks are independent
Computers can dynamically join and leave the
network
Built on open standards
Lack of centralized control (mostly)
Everyone can use it with simple, commonly available
software
People and organizations
17



Internet Engineering Task Force (IETF): internet
protocol standards
Internet Corporation for Assigned Names and
Numbers (ICANN): decides top-level domain names
World Wide Web Consortium (W3C): web
standards
Layered architecture
Internet Protocol (IP)
19


Simple protocol for data exchange between
computers
IP Addresses:
 32-bit
for IPv5
 128-bit for IPv6
CS380
Transmission Control Protocol (TCP)
20



Adds multiplexing, guaranteed message delivery on
top of IP
Multiplexing: multiple programs using the same IP
address
Port: a number given to each program or service
port 80: web browser (port 443 for secure browsing)
 port 25: email
 port 22: ssh


Some programs (games, streaming media programs)
use simpler UDP protocol instead of TCP
Web Servers
21

Web server: software that listens for web page
requests
 Apache
 Microsoft
Internet
Information Server (IIS)
Application Server
22

Software framework that provides an environment
where applications can run
 Apache
 Glassfish
 WebSphere
 WebLogic
Web Browser
23

Web browser: fetches/displays documents from
web servers
 Mozilla
Firefox
 Microsoft Internet Explorer (IE)
 Apple Safari
 Google Chrome
 Opera
Domain Name Server (DNS)
24

Set of servers that map written names to IP
addresses
 Example:

umd.edu → 54.84.241.99
Many systems maintain a local cache called a hosts
file
 Windows:
C:\Windows\system32\drivers\etc\hosts
 Mac: /private/etc/hosts
 Linux: /etc/hosts
Uniform Resource Locator (URL)
25

Identifier for the location of a document on a web
site
 Example:

http://cs.umd.edu/index.html
Upon entering this URL into the browser, it would:
 ask
the DNS server for the IP address of dept.ju.edu
 connect to that IP address at port 80
 ask the server to GET /index.html
 display the resulting page on the screen
Hypertext Transport Protocol (HTTP)
26


Set of commands understood by a web server and
sent from a browser
Some HTTP commands (your browser sends these
internally):
 GET
filename : download
 POST filename : send a web form response
 PUT filename : upload

Exercise: simulate a browser with a terminal window
HTTP Error Codes
27


When something goes wrong, the web server
returns a special "error code" number
Common error codes:
Number
Meaning
200
OK
301-303
page has moved (permanently or
temporarily)
403
you are forbidden to access this
page
404
page not found
500
internal server error
Internet Media (“MIME”) types
28
MIME type
text/html
text/plain
image/gif
image/jpeg
video/quicktime
application/octet-stream
file extension
.html
.txt
.gif
.jpg
.mov
.exe
Web Languages
29




Hypertext Markup Language (HTML): used for
writing web pages
Cascading Style Sheets (CSS): stylistic info for web
pages
PHP Hypertext Processor (PHP): dynamically create
pages on a web server
JavaScript: interactive and programmable web
pages
Web Languages(cont.)
30


Asynchronous JavaScript and XML (Ajax): accessing
data for web applications
eXtensible Markup Language (XML): metalanguage
for organizing data