Introduction to PHP. Server-Side Web Languages. Uta Priss School of Computing Napier University, Edinburgh, UK

Similar documents
Web Pages. Static Web Pages SHTML

Web Application Development

CSE 510 Web Data Engineering

ISI ACADEMY Web applications Programming Diploma using PHP& MySQL

Webmail Using the Hush Encryption Engine

Government Girls Polytechnic, Bilaspur

By : Khalid Alfalqi Department of Computer Science, Umm Al-Qura University

Credits: Some of the slides are based on material adapted from

Multimedia im Netz Online Multimedia Winter semester 2015/16. Tutorial 02 Minor Subject

Web development... the server side (of the force)

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

How To Write A Web Server In Javascript

DYNAMIC TECHNOLOGIES ON THE WEB: EDUCATION ADMINISTRATION APPLICATIONS. Doug Martin, Ph.D. University of Cincinnati

Fachgebiet Technische Informatik, Joachim Zumbrägel

PHP MySQL vs. Unity. Introduction. The PHP side. The Unity side

Business & Computing Examinations (BCE) LONDON (UK)

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Database System Concepts

Web Development: Techniques for Handling Content. Shelley Slaey June 2, 2014

Equipment Room Database and Web-Based Inventory Management

How To Build A Web App

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Certified PHP/MySQL Web Developer Course

Evolution of the Major Programming Languages

GLEN RIDGE PUBLIC SCHOOLS MATHEMATICS MISSION STATEMENT AND GOALS

Developing Web Browser Recording Tools. Using Server-Side Programming Technology

CrownPeak Playbook CrownPeak Hosting with PHP

CSE 203 Web Programming 1. Prepared by: Asst. Prof. Dr. Maryam Eskandari

WAYNESBORO AREA SCHOOL DISTRICT CURRICULUM INTRODUCTION TO COMPUTER SCIENCE (June 2014)

Web Cloud Architecture

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

PHP Tutorial From beginner to master

Login with Amazon. Getting Started Guide for Websites. Version 1.0

Topics in Website Testing. [Reading assignment: Chapter 14, pp ]

Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation

Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General

Fig (1) (a) Server-side scripting with PHP. (b) Client-side scripting with JavaScript.

4.2 Understand Microsoft ASP.NET Web Application Development

SmartArrays and Java Frequently Asked Questions

12 File and Database Concepts 13 File and Database Concepts A many-to-many relationship means that one record in a particular record type can be relat

Java Application Developer Certificate Program Competencies

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

Online Course Syllabus CS406/BA406 Managing Web Technologies. Important Notes:

CSC 551: Web Programming. Spring 2004

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

JAVASCRIPT AND COOKIES

ICAWEB502A Create dynamic web pages

THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY

Chapter 21 Web Servers

Basic Internet programming Formalities. Hands-on tools for internet programming

Chapter 4. Learning Objectives. Learning Objectives. Building an E-commerce Web Site. Building an E-commerce Web Site: A Systematic Approach

Web application development landscape: technologies and models

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 03 XML based Standards and Formats for Applications

opalang - Rapid & Secure Web Development

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

Class and Office Hours. Course Requirements. Concepts to Learn. CMPUT 499: Introduction

Introduction to Server-Side Programming. Charles Liu

Web-Based Information Systems

Design Proposal for a Meta-Data-Driven Content Management System

WIRIS quizzes web services Getting started with PHP and Java

Building Java Servlets with Oracle JDeveloper

VB.NET - WEB PROGRAMMING

Java and J2EE (SCJA Exam CX ) 50 Cragwood Rd, Suite 350 South Plainfield, NJ 07080

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

Introduction to web development

Server-Side Scripting and Web Development. By Susan L. Miertschin

IT3504: Web Development Techniques (Optional)

How to Create a Dynamic Webpage

CIM Courses for Creating Web Pages

Business Information System Courses Description

TAMALPAIS UNION HIGH SCHOOL DISTRICT Larkspur, California. Course of Study. Web Design 1, 2, 3, 4, 5 and 6

BHARATHIAR UNIVERSITY COIMBATORE SCHOOL OF DISTANCE EDUCATION

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

T320 E-business technologies: foundations and practice

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

How To Program In Javascript With Deitel And Deitle

Intro to Web Programming. using PHP, HTTP, CSS, and Javascript Layton Smith CSE 4000

Google AdWords TM Conversion Tracking Guide

Application Security: Web service and

7 Why Use Perl for CGI?

2016/03/30 13:54 1/10 9 WEB Monitoring

Designing and Implementing an Online Bookstore Website

Ajax Logger. Client Monitoring Technique with High Installability & Scalability. November 2007

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask

C# and Other Languages

OIT 307/ OIT 218: Web Programming

Outline. CIW Web Design Specialist. Course Content

DESIGNING HTML HELPERS TO OPTIMIZE WEB APPLICATION DEVELOPMENT

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms

Annex E - Capability Building Policy

ERIE COMMUNITY COLLEGE COURSE OUTLINE A. COURSE TITLE: CS WEB DEVELOPMENT AND PROGRAMMING FUNDAMENTALS

Application Servers G Session 2 - Main Theme Page-Based Application Servers. Dr. Jean-Claude Franchitti

If your organization is not already

Chapter 1. Introduction to web development

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

Introduction. It would appear that. we have reached the. limits of what it is. possible to achieve with. computer technology, although one should be

Facebook Twitter YouTube Google Plus Website

Web Application diploma using.net Technology

Transcription:

Introduction to Server-Side Web Languages Uta Priss School of Computing Napier University, Edinburgh, UK Copyright Napier University Intro Slide 1/14

Outline Server-Side Web Languages Copyright Napier University Intro Slide 2/14

Server-Side Languages Server-side languages are implemented and executed in a webserver environment. Typical server-side languages are Perl, Php, Python, Asp. A typical client-side language is Javascript. Java can be used either server-side (as Java Servlets) or client-side (using applets). Copyright Napier University Intro Slide 3/14

Static HTML pages Many HTML documents provide static content, which is stored on a webserver, retrieved via the HTTP protocol, displayed to a client via a browser. Copyright Napier University Intro Slide 4/14

Dynamic Content Some HTML documents provide dynamic content. This content is generated by a computer program; can retrieve information from a database; can respond to a specific user request (e.g. a webform); is converted into an HTML page; which is retrieved via HTTP by the user s browser. Copyright Napier University Intro Slide 5/14

Advantages of Dynamic Content Dynamic content is more flexible than static content (e.g. on-line newspapers); can respond to specific user requests (e.g. e-commerce); can collect user information (e.g. on-line surveys, guestbooks); can provide an interface to a database (e.g. search engines); can facilitate basic user interaction (e.g. on-line shopping). Copyright Napier University Intro Slide 6/14

Server-side or Client-side? Which of these are better implemented client-side or server-side? Applications with many graphics (e.g. certain computer games) - Copyright Napier University Intro Slide 7/14

Server-side or Client-side? Which of these are better implemented client-side or server-side? Applications with many graphics (e.g. certain computer games) - Client-side (because graphics are slow over the web) Copyright Napier University Intro Slide 7/14

Server-side or Client-side? Which of these are better implemented client-side or server-side? Applications with many graphics (e.g. certain computer games) - Client-side (because graphics are slow over the web) Database interfaces - Copyright Napier University Intro Slide 7/14

Server-side or Client-side? Which of these are better implemented client-side or server-side? Applications with many graphics (e.g. certain computer games) - Client-side (because graphics are slow over the web) Database interfaces - Server-side (because the user usually only needs a few records from a database; transmitting the whole database would be slow) Copyright Napier University Intro Slide 7/14

Server-side or Client-side? Which of these are better implemented client-side or server-side? Applications with many graphics (e.g. certain computer games) - Client-side (because graphics are slow over the web) Database interfaces - Server-side (because the user usually only needs a few records from a database; transmitting the whole database would be slow) On-line maps - Copyright Napier University Intro Slide 7/14

Server-side or Client-side? Which of these are better implemented client-side or server-side? Applications with many graphics (e.g. certain computer games) - Client-side (because graphics are slow over the web) Database interfaces - Server-side (because the user usually only needs a few records from a database; transmitting the whole database would be slow) On-line maps - Server-side (because a user who searches for an address does not need to download a whole atlas). But many applications (such as on-line banking applications) have both client-side components (using Javascript or Java for better usability and graphics of the client browser window) and server-side components for storing the data in a database on the server. Copyright Napier University Intro Slide 7/14

Challenges for Server-Side Applications The biggest challenge is Security! The user can never be trusted because for each click the user makes on a browser a new connection is established. Copyright Napier University Intro Slide 8/14

Challenges for Server-Side Applications The biggest challenge is Security! The user can never be trusted because for each click the user makes on a browser a new connection is established. A second challenge is the limitation of the HTTP protocol. User activities are limited by what is possible via HTML and common browsers. Copyright Napier University Intro Slide 8/14

code is embedded into websites <html> <head><title>hello World</title></head> <body> <?php echo "What is your name?"; echo "Hello, {$ REQUEST[ name ]}! How are you?";?> </body></html> Copyright Napier University Intro Slide 9/14

User input comes from a web form <form action= example.php method= get > <input type= textbox name= name > <input type= submit value= submit > </form>; or via the Query String: http://www.dcs.napier.ac.uk/ 01234567/php/example.php?name=Snoopy and is available using special variables: $ REQUEST[ name ] Copyright Napier University Intro Slide 10/14

Primitive datatypes Some of s data types are: boolean ($foo = true; $foo = false;) integer ($a = 1; $b = 15; $c = 300000000) float ($a = 3.14159, $b = 1.2e3; ) string ($a = Hello World ; $b = Hello World\n ;) array ($list = array( key => value, 1 => 2)); Copyright Napier University Intro Slide 11/14

Similar operators as in other languages: arithmetic: + * / ++ % comparison: ==!= < > logical: and or xor! string concatenation:..= array: + ==!= Copyright Napier University Intro Slide 12/14

The usual control structures: if (... ) {... } else if (... ) {... } else {... } while (... ) {... } for ($i = 1; $i <= 10; $i++) { echo $i; } foreach ($arr as $value) {echo $value } Copyright Napier University Intro Slide 13/14

has lots and lots of predefined functions For example, for arrays $zoo = array( monkey, tiger, eagle ); count($zoo); implode (,$zoo); array push($zoo, $newanimal); array pop($zoo); sort($zoo); rsort($zoo); Copyright Napier University Intro Slide 14/14