Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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