COMP519 Practical 14 Python (5)

Size: px
Start display at page:

Download "COMP519 Practical 14 Python (5)"

Transcription

1 COMP519 Practical 14 Python (5) Introduction This practical contains further exercises that are intended to familiarise you with Python Programming. While you work through the tasks below compare your results with those of your fellow students and ask for help and comments if required. This document can be found at and you might proceed more quickly if you cut-and-paste code from that PDF file. Note that a cut-and-paste operation may introduce extra spaces into your code. It is important that those are removed and that your code exactly matches that shown in this worksheet. The exercises and instructions in this worksheet assume that you use the Department s Linux systems to experiment with Perl. To keep things simple, we will just use a text editor, a terminal and a web browser. You can use whatever text editor and web browser you are most familiar or comfortable with. If you do not manage to get through all the exercises during this practical session, please complete them in your own time before the next practical takes place. Exercises 1. Let us start by creating a first CGI script using Python. a. Create a directory $HOME/public_html/cgi-bin/ and make sure that public_html and cgi-bin are both readable and executable by everyone using the command chmod -R a+rx $HOME/public_html/ in a terminal. b. Open a text editor and enter the following Python code: #!/usr/bin/python3 # Author: <fill in your name> # My first CGI Python script. import cgi, cgitb, os, re, sys, codecs, urllib.request sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) cgitb.enable() Content-type: text/html <!DOCTYPE html> <html> <head> 1

2 <meta charset="utf-8"> <title>cgi Python Script</title> </head> <body> ) print( <section>\n<h1>environment Variables</h1> ) print( <table>\n<tbody> ) for k in sorted(os.environ.keys()): print("<tr><th>" + k + " </th><td> " + os.environ[k] + "</td></tr>") print( </tbody>\n</table>\n<p></p>\n</section> ) # Code for Exercice 1g here print( </body>\n</html> ) c. Save the code to a file named python14a.py in $HOME/public_html/cgi-bin/. d. Open a terminal, go to the directory in which the file has been stored, make the file python14a.py executable for everyone, but only readable and writable by yourself, using chmod a+x,og-rw python14a.py and execute the Python script using the command./python14a.py Check that there are no syntax errors and that the script produces some output. This should become standard practice for you. CGI scripts that contain syntax errors produce no meaningful output or error messages when accessed using a web browser (as we will do in exercise 1e). So, always assure yourself first that there are no syntax errors before accessing one of your scripts via the web. e. Now open a web browser and access the URL where <user> is your user name. f. Make sure that both exercise 1c and 1e produce output. Compare the output. Why do exercise 1c and 1e produce different output? g. At the point Code for Exercise 1g here in python14a.py insert the following code: print( <section>\n<h1>cgi Form Data</h1> ) inputs = cgi.fieldstorage() for name in inputs.keys(): print( Name:,name, getvalue:,inputs.getvalue(name), <br> ) print( Name:,name, getfirst:,inputs.getfirst(name), <br> ) print( Name:,name, getlist :,inputs.getlist(name), <br> ) print( </section>\n<section>\n<h1>form</h1> ) <form action="" method="get"> <label>enter your user name: <input type="text" name="username"></label><br> <label>enter your full name: <input type="text" name="fullname"></label><br> <input type="submit" value="click for response"> </form></section> ) 2

3 h. Save the changes and execute the script on the command line. Make sure that there are no syntax errors. Then reload your the script in the web browser. You should see that the section for the CGI Form Data is empty while there is now a form with two text fields at the end of the page. i. Enter you own user name and press the submit button. You should now see information in the CGI Form Data section of the page. Also, look for the QUERY_STRING entry in the Environment Variables section and see what its value is. Finally, note how the URL in the URL/Search field of your browser has changed. Test the script with various names. In particular, try names like Catherine O Donnell and Jürgen Klopp and observe how they are encoded and decoded. Finally, perform a test where you leave both fields empty and just click on the submit button. Take a note of the values of the environment variables REQUEST_METHOD and QUERY_STRING as well as the CGI Form Data in this situation. j. Currently, our form uses the request method GET. Change the code of the script so that the request method POST is used. The repeat the test that you have performed in Exercise 1i. Again, for the final test where you leave both fields empty and just click on the submit button, take a note of the values of the environment variables REQUEST_METHOD and QUERY_STRING as well as the CGI Form Data. 2. In the previous exercise you have seen that we can use the same script to generate a form and to process input from that form. But typically we would not expect that form to be still present during the processing stage. It should instead disappear and only the output of the processing stage should be shown. However, if we want to achieve this, we are faced with a problem: How do we distingush the situation where the user accesses our script for the first time from the situation where the user has submitted the form but left both text fields empty? a. Make a copy of python14a.py called python14b.py in the same directory. Move the code that outputs the section with the HTML form to a function formoutput. Add a call of formoutput where that code originally was. b. Modify python14b.py so that the HTML markup for the form is no longer produces if the user has submitted form data, even if the user left both text fields empty. c. Add a check whether the user has left one or both text fields empty when submitting the form. If so, an error message should be shown and the user is also shown the HTML form so that another attempt at completing the form can be made. d. All the print statements that refer to the form data are susceptible to cross-site scripting: Printing out inputs[name].value etc incorporates whatever the user has entered into the text field of the form. We should either validate that this is not the case before printing out inputs[name].value or be more careful with the way we print the user s input. Read up on the function html.escape of the html module at and the function cgi.escape of the cgi module at Neither of these two functions is perfect, but can be used as a starting point. Write your own function escapehtml that convert the characters &, <, >,, and in a given string to HTML-safe sequences and also converts newlines and spaces into appropriate HTML markup. 3

4 e. Modify the script so that only requests that come from a PC within the department (or the university) are answered. All other requests should result in an empty HTML page or an error message. f. Modify the script so that users of Microsoft Internet Explorer will receive the message Change to a better browser instead of the HTML form page. Hint: Take a look at to see what values the environment variable HTTP_USER_AGENT might take for various versions of Microsoft Internet Explorer. g. Modify the script so that the user can use the HTML form to indicate which degree programme he/she is studying (among the programmes CSAD, CSBD, CSCI, and CSMS). Use radio buttons to do so. Test your code and observe how data from radio buttons is handled by cgi.fieldstorage(). h. Modify the script so that the user can use the HTML form to indicate which modules he/she is studying (among the modules COMP516, COMP517, COMP518, and COMP519). Use checkboxes to do so. Test your code and observe how data from checkboxed is handled by cgi.fieldstorage(). i. Modify the script so that a count is kept that is increased with each consecutive call of the page and displayed on the results page. Hint: A hidden field might be the easiest way of doing this. 3. Let us move on to a slightly more complicated CGI script. a. Open a text editor and enter the following Python code: #!/usr/bin/python3 # Author: <fill in your name> # My third CGI Python script. import cgi, cgitb, os, re, sys, codecs, urllib.request sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) cgitb.enable() Content-type: text/html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>cgi Python Script</title> </head> <body> ) print( <section>\n<h1>environment Variables</h1> ) print( <table>\n<tbody> ) for k in sorted(os.environ.keys()): print("<tr><th>" + k + " </th><td> " + os.environ[k] + "</td></tr>") print( </tbody>\n</table>\n<p></p>\n</section> ) 4

5 print( <section>\n<h1>cgi Form Data</h1> ) inputs = cgi.fieldstorage() for name in inputs.keys(): print( Name:,name, getvalue:,inputs.getvalue(name), <br> ) print( Name:,name, getfirst:,inputs.getfirst(name), <br> ) print( Name:,name, getlist :,inputs.getlist(name), <br> ) print( </section>\n<section>\n<h1>form</h1> ) <form action="" method="post"> <label>url: <input type="text" name="url" size="100"></label><br> <input type="submit" value="analyse"> </form></section> ) text = "" if URL in inputs: print( <section><h1>analysis of +inputs.getfirst( URL )+ </h1> ) # Retrieve URL here and assign it to text print(text) print( </section> ) print( </body>\n</html> ) b. Save the code to a file named python14c.py in $HOME/public_html/cgi-bin/. c. Open a terminal, go to the directory in which the file has been stored, make the file python14c.py executable for everyone, but only readable and writable by yourself. Check that there are no syntax errors and that the script produces HTML markup as output. d. At the point # Retrieve URL here and assign it to text add code to the script that uses the urlopen function of the urllib.request to retrieve the URL entered via the form and stores the retrieved document in the variable text. e. Now open a web browser and access the URL where <user> is your user name. You should see an HTML form that allows you to enter a URL. f. Enter the URL below into the textfield of the form and press the submit button. You should now be shown a different page that displays the values of environment variables and parameters as well as the contents of the document available at the URL above, and the same HTML form at the bottom of the page. g. The text stored in text obviously contains HTML markup. Modify the line print(text) in the script so that the content of $text is shown verbatim, including the HTML markup. Reuse the function that you have written in Exercise 2d. h. Add code to the script that extracts the names from text and stores them in an array names. i. Add the following code to the script, right after the code you have created in Exercise 3h. 5

6 count = {}; for name in names: if name in count: count[name] += 1 else: count[name] = 1 for key in count.keys(): print(key,": ",count[key],"<br>") j. Make sure that exercises 3h and 3i lead to the correct result for the URL in 3f. k. Modify the code in 3i so that the output produced by the second for-loop is a twodimensional HTML table of the form below. Ideally the names are sorted according the number of occurrences from highest to lowest. Name count Name No of occurrences Andreas Schoknecht 4 Torsten Ullrich 3. Hint: Use the sorted function to sort the list of keys of count according the values stored in count. 6

COMP284 Practical 3 Perl (3)

COMP284 Practical 3 Perl (3) COMP284 Practical 3 Perl (3) Introduction This practical contains further exercises that are intended to familiarise you with Perl Programming. While you work through the tasks below compare your results

More information

COMP519 Practical 5 JavaScript (1)

COMP519 Practical 5 JavaScript (1) COMP519 Practical 5 JavaScript (1) Introduction This worksheet contains exercises that are intended to familiarise you with JavaScript Programming. While you work through the tasks below compare your results

More information

COMP284 Practical 6 JavaScript (1)

COMP284 Practical 6 JavaScript (1) COMP284 Practical 6 JavaScript (1) Introduction This worksheet contains exercises that are intended to familiarise you with JavaScript Programming. While you work through the tasks below compare your results

More information

NETB 329 Lecture 13 Python CGI Programming

NETB 329 Lecture 13 Python CGI Programming NETB 329 Lecture 13 Python CGI Programming 1 of 83 What is CGI? The Common Gateway Interface, or CGI, is a set of standards that define how information is exchanged between the web server and a custom

More information

COMP519 Practical 16 PHP (2)

COMP519 Practical 16 PHP (2) COMP519 Practical 16 PHP (2) Introduction This worksheet contains exercises that are intended to familiarise you with PHP Programming. While you work through the exercises below compare your results with

More information

COMP519 Practical 15 PHP (1)

COMP519 Practical 15 PHP (1) COMP519 Practical 15 PHP (1) Introduction This worksheet contains exercises that are intended to familiarise you with PHP Programming. While you work through the exercises below compare your results with

More information

COMP519 Web Programming Autumn CGI Programming

COMP519 Web Programming Autumn CGI Programming COMP519 Web Programming Autumn 2015 CGI Programming CGI Programming These lectures notes are designed to: Teach you how to use CGI in server-side programming Use environmental variables in Python Access

More information

COMP519 Web Programming Autumn CGI Programming

COMP519 Web Programming Autumn CGI Programming COMP519 Web Programming Autumn 2015 CGI Programming CGI Programming These lectures notes are designed to: Teach you how to use CGI in server-side programming Use environmental variables in Python Access

More information

COMP284 Practical 1 Perl (1)

COMP284 Practical 1 Perl (1) Introduction COMP284 Practical 1 Perl (1) This practical is dedicated to Perl Programming. While you work through the exercises below compare your results with those of your fellow students and ask for

More information

Introduction to Programming (Python) (IPP) CGI Programming. $Date: 2010/11/25 09:18:11 $ IPP-15 1

Introduction to Programming (Python) (IPP) CGI Programming. $Date: 2010/11/25 09:18:11 $ IPP-15 1 Introduction to Programming (Python) (IPP) CGI Programming $Date: 2010/11/25 09:18:11 $ 1 Static web pages The simplest web-based interaction is when your browser (the client) gets sent a file encoded

More information

PYTHON CGI PROGRAMMING

PYTHON CGI PROGRAMMING PYTHON CGI PROGRAMMING http://www.tutorialspoint.com/python/python_cgi_programming.htm Copyright tutorialspoint.com The Common Gateway Interface, or CGI, is a set of standards that define how information

More information

Web forms and CGI scripts

Web forms and CGI scripts Web forms and CGI scripts Dr. Andrew C.R. Martin andrew.martin@ucl.ac.uk http://www.bioinf.org.uk/ Aims and objectives Understand how the web works Be able to create forms on HTML pages Understand how

More information

USQ/CSC2406 Web Publishing

USQ/CSC2406 Web Publishing USQ/CSC2406 Web Publishing Lecture 4: HTML Forms, Server & CGI Scripts Tralvex (Rex) Yeap 19 December 2002 Outline Quick Review on Lecture 3 Topic 7: HTML Forms Topic 8: Server & CGI Scripts Class Activity

More information

Forms, CGI. Objectives

Forms, CGI. Objectives Forms, CGI Objectives The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms Common Gateway Interface (CGI) Later: Servlets Generation

More information

CMPSCI 120 Fall 2017 Lab #4 Professor William T. Verts

CMPSCI 120 Fall 2017 Lab #4 Professor William T. Verts CMPSCI 120 Fall 2017 Lab #4 Professor William T. Verts Logging in and Renaming Files As you did in the previous assignments, log in to the UNIX server. Change into the public_html directory and create

More information

Outline of Lecture 5. Course Content. Objectives of Lecture 6 CGI and HTML Forms

Outline of Lecture 5. Course Content. Objectives of Lecture 6 CGI and HTML Forms Web-Based Information Systems Fall 2004 CMPUT 410: CGI and HTML Forms Dr. Osmar R. Zaïane University of Alberta Outline of Lecture 5 Introduction Poor Man s Animation Animation with Java Animation with

More information

Introduction to Lab Practicals (Lab Intro 3) Access Control, Synchronisation and Remote Access

Introduction to Lab Practicals (Lab Intro 3) Access Control, Synchronisation and Remote Access Introduction to Lab Practicals (Lab Intro 3) Access Control, Synchronisation and Remote Access 1 Introduction This practical is intended to familiarise you with the file access control mechanisms of Linux

More information

Writing Perl Programs using Control Structures Worked Examples

Writing Perl Programs using Control Structures Worked Examples Writing Perl Programs using Control Structures Worked Examples Louise Dennis October 27, 2004 These notes describe my attempts to do some Perl programming exercises using control structures and HTML Forms.

More information

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn about Server-side web programming in Python Common Gateway Interface

More information

Web Interfaces for Database Servers

Web Interfaces for Database Servers Web Interfaces for Database Servers 1 CGI, MySQLdb, and Sockets glueing the connections with Python functions of the server: connect, count, and main development of the code for the client 2 Displaying

More information

CGI Programming. What is "CGI"?

CGI Programming. What is CGI? CGI Programming What is "CGI"? Common Gateway Interface A means of running an executable program via the Web. CGI is not a Perl-specific concept. Almost any language can produce CGI programs even C++ (gasp!!)

More information

Chapter 1 FORMS. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 FORMS. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 FORMS SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: How to use forms and the related form types. Controls for interacting with forms. Menus and presenting users with

More information

Forms, CGI. Cristian Bogdan 2D2052 / 2D1335 F5 1

Forms, CGI. Cristian Bogdan 2D2052 / 2D1335 F5 1 Forms, CGI Cristian Bogdan 2D2052 / 2D1335 F5 1 Objectives The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms Common Gateway Interface

More information

COMP519 Web Programming Lecture 28: PHP (Part 4) Handouts

COMP519 Web Programming Lecture 28: PHP (Part 4) Handouts COMP519 Web Programming Lecture 28: PHP (Part 4) Handouts Ullrich Hustadt Department of Computer Science School of Electrical Engineering, Electronics, and Computer Science University of Liverpool Contents

More information

CHAPTER 2. Troubleshooting CGI Scripts

CHAPTER 2. Troubleshooting CGI Scripts CHAPTER 2 Troubleshooting CGI Scripts OVERVIEW Web servers and their CGI environment can be set up in a variety of ways. Chapter 1 covered the basics of the installation and configuration of scripts. However,

More information

Forms, CGI. HTML forms. Form example. Form example...

Forms, CGI. HTML forms. Form example. Form example... Objectives HTML forms The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms CGI the Common Gateway Interface Later: Servlets Generation

More information

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message.

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message. What is CGI? The Common Gateway Interface (CGI) is a set of standards that define how information is exchanged between the web server and a custom script. is a standard for external gateway programs to

More information

Web technologies. Web. basic components. embellishments in browser. DOM (document object model)

Web technologies. Web. basic components. embellishments in browser. DOM (document object model) Web technologies DOM (document object model) what's on the page and how it can be manipulated forms / CGI (common gateway interface) extract info from a form, create a page, send it back server side code

More information

Hyperlinks, Tables, Forms and Frameworks

Hyperlinks, Tables, Forms and Frameworks Hyperlinks, Tables, Forms and Frameworks Web Authoring and Design Benjamin Kenwright Outline Review Previous Material HTML Tables, Forms and Frameworks Summary Review/Discussion Email? Did everyone get

More information

LING 408/508: Computational Techniques for Linguists. Lecture 21

LING 408/508: Computational Techniques for Linguists. Lecture 21 LING 408/508: Computational Techniques for Linguists Lecture 21 Administrivia Both Homework 7 and 8 have been graded Homework 9 today Example: example.cgi SiteSites$./example.cgi Content-Type: text/html;

More information

Creating and Building Websites

Creating and Building Websites Creating and Building Websites Stanford University Continuing Studies CS 21 Mark Branom branom@alumni.stanford.edu Course Web Site: http://web.stanford.edu/group/csp/cs21 Week 7 Slide 1 of 25 Week 7 Unfinished

More information

Web Interfaces. the web server Apache processing forms with Python scripts Python code to write HTML

Web Interfaces. the web server Apache processing forms with Python scripts Python code to write HTML Web Interfaces 1 Python Scripts in Browsers the web server Apache processing forms with Python scripts Python code to write HTML 2 Web Interfaces for the Determinant dynamic interactive forms passing data

More information

CP215 Application Design

CP215 Application Design CP215 Application Design Microsoft HoloLens developer preorder: $3,000 Tech News! Tech News! Microsoft HoloLens developer preorder: $3,000 Raspberry Pi 3 with Wi-Fi and Bluetooth built-in: $35 Hacker's

More information

HTML Forms. By Jaroslav Mohapl

HTML Forms. By Jaroslav Mohapl HTML Forms By Jaroslav Mohapl Abstract How to write an HTML form, create control buttons, a text input and a text area. How to input data from a list of items, a drop down list, and a list box. Simply

More information

Javascript, Java, Flash, Silverlight, HTML5 (animation, audio/video, ) Ajax (asynchronous Javascript and XML)

Javascript, Java, Flash, Silverlight, HTML5 (animation, audio/video, ) Ajax (asynchronous Javascript and XML) Web technologies browser sends requests to server, displays results DOM (document object model): structure of page contents forms / CGI (common gateway interface) client side uses HTML/CSS, Javascript,

More information

Web Programming. Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun.

Web Programming. Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun. Web Programming Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun. 1 World-Wide Wide Web (Tim Berners-Lee & Cailliau 92)

More information

GRAPHIC WEB DESIGNER PROGRAM

GRAPHIC WEB DESIGNER PROGRAM NH128 HTML Level 1 24 Total Hours COURSE TITLE: HTML Level 1 COURSE OVERVIEW: This course introduces web designers to the nuts and bolts of HTML (HyperText Markup Language), the programming language used

More information

Chapter 4 Sending Data to Your Application

Chapter 4 Sending Data to Your Application Chapter 4 Sending Data to Your Application Charles Severance and Jim Eng csev@umich.edu jimeng@umich.edu Textbook: Using Google App Engine, Charles Severance Unless otherwise noted, the content of this

More information

Q1. What is JavaScript?

Q1. What is JavaScript? Q1. What is JavaScript? JavaScript was designed to add interactivity to HTML pages JavaScript is a scripting language A scripting language is a lightweight programming language JavaScript is usually embedded

More information

Dreamweaver Forms Outline

Dreamweaver Forms Outline Dreamweaver Forms Outline Discuss the different types of scripts used for forms o Form Mail Script The different tools o Insert Form o Insert Text Field o Insert Button o Discuss differences between checkboxes

More information

Lab 4: Basic PHP Tutorial, Part 2

Lab 4: Basic PHP Tutorial, Part 2 Lab 4: Basic PHP Tutorial, Part 2 This lab activity provides a continued overview of the basic building blocks of the PHP server-side scripting language. Once again, your task is to thoroughly study the

More information

ITNP43 HTML Practical 2 Links, Lists and Tables in HTML

ITNP43 HTML Practical 2 Links, Lists and Tables in HTML ITNP43 HTML Practical 2 Links, Lists and Tables in HTML LEARNING OUTCOMES By the end of this practical students should be able to create lists and tables in HTML. They will be able to link separate pages

More information

CS105 Perl: Perl CGI. Nathan Clement 24 Feb 2014

CS105 Perl: Perl CGI. Nathan Clement 24 Feb 2014 CS105 Perl: Perl CGI Nathan Clement 24 Feb 2014 Agenda We will cover some CGI basics, including Perl-specific CGI What is CGI? Server Architecture GET vs POST Preserving State in CGI URL Rewriting, Hidden

More information

Common Gateway Interface CGI

Common Gateway Interface CGI Common Gateway Interface CGI Copyright (c) 2013-2015 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2

More information

Spring 2014 Interim. HTML forms

Spring 2014 Interim. HTML forms HTML forms Forms are used very often when the user needs to provide information to the web server: Entering keywords in a search box Placing an order Subscribing to a mailing list Posting a comment Filling

More information

JavaScript CSCI 201 Principles of Software Development

JavaScript CSCI 201 Principles of Software Development JavaScript CSCI 201 Principles of Software Development Jeffrey Miller, Ph.D. jeffrey.miller@usc.edu Outline JavaScript Program USC CSCI 201L JavaScript JavaScript is a front-end interpreted language that

More information

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM Advanced Internet Technology Lab.

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM Advanced Internet Technology Lab. Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 5049 Advanced Internet Technology Lab Lab # 1 Eng. Haneen El-masry February, 2015 Objective To be familiar with

More information

Form Processing in PHP

Form Processing in PHP Form Processing in PHP Forms Forms are special components which allow your site visitors to supply various information on the HTML page. We have previously talked about creating HTML forms. Forms typically

More information

MI1004 Script programming and internet applications

MI1004 Script programming and internet applications MI1004 Script programming and internet applications Course content and details Learn > Course information > Course plan Learning goals, grades and content on a brief level Learn > Course material Study

More information

CS Final Exam Review Suggestions - Spring 2018

CS Final Exam Review Suggestions - Spring 2018 CS 328 - Final Exam Review Suggestions p. 1 CS 328 - Final Exam Review Suggestions - Spring 2018 last modified: 2018-05-03 Based on suggestions from Prof. Deb Pires from UCLA: Because of the research-supported

More information

You can also set the expiration time of the cookie in another way. It may be easier than using seconds.

You can also set the expiration time of the cookie in another way. It may be easier than using seconds. What is a Cookie? A cookie is often used to identify a user. A cookie is a small file that the server embeds on the user's computer. Each time the same computer requests a page with a browser, it will

More information

HTML 5 Form Processing

HTML 5 Form Processing HTML 5 Form Processing In this session we will explore the way that data is passed from an HTML 5 form to a form processor and back again. We are going to start by looking at the functionality of part

More information

CS 350 COMPUTER/HUMAN INTERACTION. Lecture 6

CS 350 COMPUTER/HUMAN INTERACTION. Lecture 6 CS 350 COMPUTER/HUMAN INTERACTION Lecture 6 Setting up PPP webpage Log into lab Linux client or into csserver directly Webspace (www_home) should be set up Change directory for CS 350 assignments cp r

More information

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "

<!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN CS 200 Assignment 7 HTML Due Tuesday June 30 at 9:00 am Please read the submission instructions on page 7 carefully, especially if you will be working on the assignment past the due date. To access your

More information

Part I. Introduction to Linux

Part I. Introduction to Linux Part I Introduction to Linux 7 Chapter 1 Linux operating system Goal-of-the-Day Familiarisation with basic Linux commands and creation of data plots. 1.1 What is Linux? All astronomical data processing

More information

CSCU9B2 Practical 1: Introduction to HTML 5

CSCU9B2 Practical 1: Introduction to HTML 5 CSCU9B2 Practical 1: Introduction to HTML 5 Aim: To learn the basics of creating web pages with HTML5. Please register your practical attendance: Go to the GROUPS\CSCU9B2 folder in your Computer folder

More information

COM1004 Web and Internet Technology

COM1004 Web and Internet Technology COM1004 Web and Internet Technology When a user submits a web form, how do we save the information to a database? How do we retrieve that data later? ID NAME EMAIL MESSAGE TIMESTAMP 1 Mike mike@dcs Hi

More information

XML Introduction 1. XML Stands for EXtensible Mark-up Language (XML). 2. SGML Electronic Publishing challenges -1986 3. HTML Web Presentation challenges -1991 4. XML Data Representation challenges -1996

More information

DAY 2. Creating Forms

DAY 2. Creating Forms DAY 2 Creating Forms LESSON LEARNING TARGETS I can identify and apply the different HTML tags to create a Web page form. I can describe the ways data is sent in a form in namevalue pairs. I can create

More information

Developing Ajax Applications using EWD and Python. Tutorial: Part 2

Developing Ajax Applications using EWD and Python. Tutorial: Part 2 Developing Ajax Applications using EWD and Python Tutorial: Part 2 Chapter 1: A Logon Form Introduction This second part of our tutorial on developing Ajax applications using EWD and Python will carry

More information

CSCI 204 Introduction to Computer Science II

CSCI 204 Introduction to Computer Science II CSCI 04 Introduction to Computer Science II Lab Quicksort and Efficiency Objectives The objectives of this lab are to: Examine program efficiency Improve a program s efficiency Become familiar with Quicksort

More information

Course Topics. The Three-Tier Architecture. Example 1: Airline reservations. IT360: Applied Database Systems. Introduction to PHP

Course Topics. The Three-Tier Architecture. Example 1: Airline reservations. IT360: Applied Database Systems. Introduction to PHP Course Topics IT360: Applied Database Systems Introduction to PHP Database design Relational model SQL Normalization PHP MySQL Database administration Transaction Processing Data Storage and Indexing The

More information

COMS 359: Interactive Media

COMS 359: Interactive Media COMS 359: Interactive Media Agenda Project #3 Review Forms (con t) CGI Validation Design Preview Project #3 report Who is your client? What is the project? Project Three action= http://...cgi method=

More information

Simple But Useful Tools for Interactive WWW Development

Simple But Useful Tools for Interactive WWW Development Simple But Useful Tools for Interactive WWW Development Robert C. Maher Department of Electrical Engineering University of Nebraska-Lincoln Lincoln, NE 68588-0511 rmaher@unl.edu Abstract An important area

More information

CS2021-Week 9 - Forms. HTML Forms. Python Web Development. h?ps://www.udacity.com/wiki/ cs253/unit-2html. Form for Submitting input:

CS2021-Week 9 - Forms. HTML Forms. Python Web Development. h?ps://www.udacity.com/wiki/ cs253/unit-2html. Form for Submitting input: CS2021-Week 9 - Forms Python Web Development HTML Forms h?ps://www.udacity.com/wiki/ cs253/unit-2html Form for Submitting input: Web Application:

More information

:

: CS200 Assignment 5 HTML and CSS Due Monday February 11th 2019, 11:59 pm Readings and Resources On the web: http://validator.w3.org/ : a site that will check a web page for faulty HTML tags http://jigsaw.w3.org/css-validator/

More information

World Wide Web, etc.

World Wide Web, etc. World Wide Web, etc. Alex S. Raw data-packets wouldn t be much use to humans if there weren t many application level protocols, such as SMTP (for e-mail), HTTP & HTML (for www), etc. 1 The Web The following

More information

OpenQM. Building a CGI Web Server. Martin Phillips Ladybridge Systems Ltd

OpenQM. Building a CGI Web Server. Martin Phillips Ladybridge Systems Ltd OpenQM Building a CGI Web Server Martin Phillips Ladybridge Systems Ltd What We Are Going To See Today... How to build a web server as a multi-value Basic application using no additional tools. These examples

More information

: the User (owner) for this file (your cruzid, when you do it) Position: directory flag. read Group.

: the User (owner) for this file (your cruzid, when you do it) Position: directory flag. read Group. CMPS 12L Introduction to Programming Lab Assignment 2 We have three goals in this assignment: to learn about file permissions in Unix, to get a basic introduction to the Andrew File System and it s directory

More information

UNIT-VI CREATING AND USING FORMS

UNIT-VI CREATING AND USING FORMS UNIT-VI CREATING AND USING FORMS To create a fully functional web application, you need to be able to interact with your users. The common way to receive information from web users is through a form. Forms

More information

CSC105, Introduction to Computer Science I. Introduction. Perl Directions NOTE : It is also a good idea to

CSC105, Introduction to Computer Science I. Introduction. Perl Directions NOTE : It is also a good idea to CSC105, Introduction to Computer Science Lab03: Introducing Perl I. Introduction. [NOTE: This material assumes that you have reviewed Chapters 1, First Steps in Perl and 2, Working With Simple Values in

More information

Introducing ASP.NET Web Pages Updating Database Data

Introducing ASP.NET Web Pages Updating Database Data Introducing ASP.NET Web Pages Updating Database Data By Tom FitzMacken last updated May 28, 2015 This tutorial shows you how to update change an existing database entry when you use ASP.NET Web Pages Razor.

More information

Princess Nourah bint Abdulrahman University. Computer Sciences Department

Princess Nourah bint Abdulrahman University. Computer Sciences Department Princess Nourah bint Abdulrahman University Computer Sciences Department 1 And use http://www.w3schools.com/ PHP Part 3 Objectives Creating a new MySQL Database using Create & Check connection with Database

More information

UR what? ! URI: Uniform Resource Identifier. " Uniquely identifies a data entity " Obeys a specific syntax " schemename:specificstuff

UR what? ! URI: Uniform Resource Identifier.  Uniquely identifies a data entity  Obeys a specific syntax  schemename:specificstuff CS314-29 Web Protocols URI, URN, URL Internationalisation Role of HTML and XML HTTP and HTTPS interacting via the Web UR what? URI: Uniform Resource Identifier Uniquely identifies a data entity Obeys a

More information

By the end of this section of the practical, the students should be able to:

By the end of this section of the practical, the students should be able to: By the end of this section of the practical, the students should be able to: Learn about the Document Object Model and the Document Object Model hierarchy Create and use the properties, methods and event

More information

Creating Web Pages Using HTML

Creating Web Pages Using HTML Creating Web Pages Using HTML HTML Commands Commands are called tags Each tag is surrounded by Some tags need ending tags containing / Tags are not case sensitive, but for future compatibility, use

More information

PHP 5 if...else...elseif Statements

PHP 5 if...else...elseif Statements PHP 5 if...else...elseif Statements Conditional statements are used to perform different actions based on different conditions. PHP Conditional Statements Very often when you write code, you want to perform

More information

<form>. input elements. </form>

<form>. input elements. </form> CS 183 4/8/2010 A form is an area that can contain form elements. Form elements are elements that allow the user to enter information (like text fields, text area fields, drop-down menus, radio buttons,

More information

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB Unit 8 HTML Forms and Basic CGI Slides based on course material SFU Icons their respective owners 1 Learning Objectives In this unit you will

More information

Exploring UNIX: Session 3

Exploring UNIX: Session 3 Exploring UNIX: Session 3 UNIX file system permissions UNIX is a multi user operating system. This means several users can be logged in simultaneously. For obvious reasons UNIX makes sure users cannot

More information

SocialMiner Configuration

SocialMiner Configuration This section outlines the initial setup that must be performed when SocialMiner is first installed as well as the ongoing user-configurable options that can be used once the system is up and running. The

More information

1. Begin by selecting [Content] > [Add Content] > [Webform] in the administrative toolbar. A new Webform page should appear.

1. Begin by selecting [Content] > [Add Content] > [Webform] in the administrative toolbar. A new Webform page should appear. Creating a Webform 1. Begin by selecting [Content] > [Add Content] > [Webform] in the administrative toolbar. A new Webform page should appear. 2. Enter the title of the webform you would like to create

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development.

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development. Chapter 8: Application Design and Development ICOM 5016 Database Systems Web Application Amir H. Chinaei Department of Electrical and Computer Engineering University of Puerto Rico, Mayagüez User Interfaces

More information

Application Note. Web Signing. Document version

Application Note. Web Signing. Document version Application Note Web Signing Document version 1.1 31.10.2008 Population Register Centre (VRK) Certification Authority Services P.O. Box 70 FIN-00581 Helsinki Finland http://www.fineid.fi Application Note

More information

Outline. Lecture 8: CGI (Common Gateway Interface ) Common Gateway Interface (CGI) CGI Overview

Outline. Lecture 8: CGI (Common Gateway Interface ) Common Gateway Interface (CGI) CGI Overview Outline Lecture 8: CGI (Common Gateway Interface ) CGI Overview Between Client and Handler Between Web Server and Handler Wendy Liu CSC309F Fall 2007 1 2 Common Gateway Interface (CGI) CGI Overview http://www.oreilly.com/openbook/cgi/

More information

WICKED COOL PERL SCRIPTS

WICKED COOL PERL SCRIPTS WICKED COOL PERL SCRIPTS Useful Perl Scripts That Solve Difficult Problems by Steve Oualline San Francisco 3 CGI DEBUGGING #10 Hello World Perl and the Web were made for each other. The Perl language is

More information

Web Development and HTML. Shan-Hung Wu CS, NTHU

Web Development and HTML. Shan-Hung Wu CS, NTHU Web Development and HTML Shan-Hung Wu CS, NTHU Outline How does Internet Work? Web Development HTML Block vs. Inline elements Lists Links and Attributes Tables Forms 2 Outline How does Internet Work? Web

More information

genome[phd14]:/home/people/phd14/alignment >

genome[phd14]:/home/people/phd14/alignment > Unix Introduction to Unix Shell There is a special type of window called shell or terminalwindow. Terminal windows are the principal vehicle of interaction with a UNIX machine. Their function is to perform

More information

Dynamic Documents. Kent State University Dept. of Math & Computer Science. CS 4/55231 Internet Engineering. What is a Script?

Dynamic Documents. Kent State University Dept. of Math & Computer Science. CS 4/55231 Internet Engineering. What is a Script? CS 4/55231 Internet Engineering Kent State University Dept. of Math & Computer Science LECT-12 Dynamic Documents 1 2 Why Dynamic Documents are needed? There are many situations when customization of the

More information

Databases HTML and PHP I. (GF Royle, N Spadaccini ) HTML/PHP I 1 / 28

Databases HTML and PHP I. (GF Royle, N Spadaccini ) HTML/PHP I 1 / 28 Databases HTML and PHP I (GF Royle, N Spadaccini 2006-2010) HTML/PHP I 1 / 28 This lecture The main purpose of this lecture is to cover HTML forms and how a PHP script can obtain values from the user.

More information

Advanced CGI Scripts. personalized web browsing using cookies: count number of visits. secure hash algorithm using cookies for login data the scripts

Advanced CGI Scripts. personalized web browsing using cookies: count number of visits. secure hash algorithm using cookies for login data the scripts Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via

More information

Notes General. IS 651: Distributed Systems 1

Notes General. IS 651: Distributed Systems 1 Notes General Discussion 1 and homework 1 are now graded. Grading is final one week after the deadline. Contract me before that if you find problem and want regrading. Minor syllabus change Moved chapter

More information

Unix basics exercise MBV-INFX410

Unix basics exercise MBV-INFX410 Unix basics exercise MBV-INFX410 In order to start this exercise, you need to be logged in on a UNIX computer with a terminal window open on your computer. It is best if you are logged in on freebee.abel.uio.no.

More information

HTML Tables and Forms. Outline. Review. Review. Example Demo/ Walkthrough. CS 418/518 Web Programming Spring Tables to Display Data"

HTML Tables and Forms. Outline. Review. Review. Example Demo/ Walkthrough. CS 418/518 Web Programming Spring Tables to Display Data CS 418/518 Web Programming Spring 2014 HTML Tables and Forms Dr. Michele Weigle http://www.cs.odu.edu/~mweigle/cs418-s14/ Outline! Assigned Reading! Chapter 4 "Using Tables to Display Data"! Chapter 5

More information

Pemrograman Jaringan Web Client Access PTIIK

Pemrograman Jaringan Web Client Access PTIIK Pemrograman Jaringan Web Client Access PTIIK - 2012 In This Chapter You'll learn how to : Download web pages Authenticate to a remote HTTP server Submit form data Handle errors Communicate with protocols

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

CSCI 3300 Assignment 6

CSCI 3300 Assignment 6 Austin Peay State University, Tennessee Spring 2016 CSCI 3300: Introduction to Web Development Dr. Leong Lee CSCI 3300 Assignment 6 Total estimated time for this assignment: 9 hours When you see Richard

More information

INTRODUCTION TO CGI PROGRAMMING By Jumail Bin Taliba, GMM, FSKSM, UTM INTRODUCTION

INTRODUCTION TO CGI PROGRAMMING By Jumail Bin Taliba, GMM, FSKSM, UTM INTRODUCTION INTRODUCTION TO CGI PROGRAMMING By Jumail Bin Taliba, GMM, FSKSM, UTM 2003 1. INTRODUCTION What is CGI? CGI-which stands for Common Gateway Interface- is a protocol (a way of doing things), not a programming

More information

By completing this practical, the students will learn how to accomplish the following tasks:

By completing this practical, the students will learn how to accomplish the following tasks: By completing this practical, the students will learn how to accomplish the following tasks: Learn different ways by which styles that enable you to customize HTML elements and precisely control the formatting

More information