Introduction to Server- Development

Size: px
Start display at page:

Download "Introduction to Server- Development"

Transcription

1 Introduction to Server- Side Development with PHP Chapter 8 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of Web Development

2 What is Server-Side Development The basic hosting of your files is achieved through a web server. Server-side development is much more than web hosting: it involves the use of a programming technology like PHP or ASP.NET to create scripts that dynamically generate content Consider distinction between client side and server side

3 Comparing Client and Server Scripts

4 Server-Side Script Resources So many tools in your kit

5 Web Development Technologies

6 Market Share Of web development environments

7 Web Server s Responsibilities A web server has many responsibilities: handling HTTP connections responding to requests for static and dynamic resources managing permissions and access for certain resources encrypting and compressing data managing multiple domains and URLs managing database connections managing cookies and state uploading and managing files

8 LAMP stack WAMP, MAMP, You will be using the LAMP software stack Linux operating system Apache web server MySQL DBMS PHP scripting language

9 Apache and Linux LA Consider the Apache web server as the intermediary that interprets HTTP requests that arrive through a network port and decides how to handle the request, which often requires working in conjunction with PHP.

10 Apache Continued Apache runs as a daemon on the server. A daemon is an executing instance of a program (also called a process) that runs in the background, waiting for a specific event that will activate it. When a request arrives, Apache then uses modules to determine how to respond to the request. In Apache, a module is a compiled extension (usually written in the C programming language) to Apache that helps it handle requests. For this reason, these modules are also sometimes referred to as handlers.

11 Apache and PHP PHP Module in Apache

12 Apache Threads Multi-thread and multi-process Apache runs in two possible modes: multi-process (also called preforked) multi-threaded (also called worker) The default installation of Apache runs using the multiprocess mode.

13 Apache Threads Multi-thread and multi-process

14 PHP Internals PHP itself is written in C There are 3 main modules 1. PHP core. The Core module defines the main features of the PHP environment, including essential functions for variable handling, arrays, strings, classes, math, and other core features. 2. Extension layer. This module defines functions for interacting with services outside of PHP. This includes libraries for MySQL, FTP, SOAP web services, and XML processing, among others. 3. Zend Engine. This module handles the reading in of a requested PHP file, compiling it, and executing it.

15 Section 3 of 5 QUICK TOUR OF PHP

16 Quick Tour PHP, like JavaScript, is a dynamically typed language. it uses classes and functions in a way consistent with other object-oriented languages such as C++, C#, and Java The syntax for loops, conditionals, and assignment is identical to JavaScript Differs when you get to functions, classes, and in how you define variables

17 PHP Tags The most important fact about PHP is that the programming code can be embedded directly within an HTML file. A PHP file will usually have the extension.php programming code must be contained within an opening <?php tag and a matching closing?> tag any code outside the tags is echoed directly out to the client

18 PHP Tags

19 HTML and PHP Two approaches

20 HTML and PHP Two approaches

21 Variables Variables in PHP are dynamically typed. Variables are also loosely typed in that a variable can be assigned different data types over time To declare a variable you must preface the variable name with the dollar ($) symbol. $count = 42;

22 Data Types Data Type Boolean Integer Float String Array Object Description A logical true or false value Whole numbers Decimal numbers Letters A collection of data of any type (covered in the next chapter) Instances of classes

23 Constants A constant is somewhat similar to a variable, except a constant s value never changes... in other words it stays constant. Typically defined near the top of a PHP file via the define() function once it is defined, it can be referenced without using the $ symbol

24 Constants

25 Writing to Output Hello World To output something that will be seen by the browser, you can use the echo() function. echo ("hello"); //long form echo "hello"; //shortcut

26 String Concatenation Easy Strings can easily be appended together using the concatenate operator, which is the period (.) symbol. $username = World"; echo "Hello". $username; Will Output Hello World

27 String Concatenation Example $firstname = "Pablo"; $lastname = "Picasso"; /* Example one: These two lines are equivalent. Notice that you can reference PHP variables within a string literal defined with double quotes. The resulting output for both lines is: <em>pablo Picasso</em> */ echo "<em>". $firstname. " ". $lastname. "</em>"; echo "<em> $firstname $lastname </em>";

28 Section 4 of 5 PROGRAM CONTROL

29 If else The syntax for conditionals in PHP is almost identical to that of JavaScript

30 If else Alternate syntax

31 Switch case Nearly identical

32 While and Do..while Identical to other languages

33 For Identical to other languages

34 Alternate syntax for Control Structures PHP has an alternative syntax for most of its control structures. In this alternate syntax the colon (:) replaces the opening curly bracket, while the closing brace is replaced with endif;, endwhile;, endfor;, endforeach;, or endswitch;

35 Include Files Organize your code PHP does have one important facility that is generally unlike other non web programming languages, namely the ability to include or insert content from one file into another.

36 Include Files Organize your code PHP provides four different statements for including files, as shown below. include "somefile.php"; include_once "somefile.php"; require "somefile.php"; require_once "somefile.php"; With include, a warning is displayed and then execution continues. With require, an error is displayed and execution stops.

37 Section 5 of 5 FUNCTIONS

38 Functions You mean we don t write everything in main? Just as with any language, writing code in the main function (which in PHP is equivalent to coding in the markup between <?php and?> tags) is not a good habit to get into. A function in PHP contains a small bit of code that accomplishes one thing. In PHP there are two types of function: user-defined functions and built-in functions. 1. A user-defined function is one that you the programmer define. 2. A built-in function is one of the functions that come with the PHP environment

39 Functions syntax While the example function in Listing 8.13 returns a value, there is no requirement for this to be the case.

40 Functions No return no big deal.

41 Call a function Now that you have defined a function, you are able to use it whenever you want to. To call a function you must use its name with the () brackets. Since getnicetime() returns a string, you can assign that return value to a variable, or echo that return value directly, as shown below. $output = getnicetime(); echo getnicetime(); If the function doesn t return a value, you can just call the function: outputfootermenu();

42 Parameters Parameters are the mechanism by which values are passed into functions. To define a function with parameters, you must decide how many parameters you want to pass in, and in what order they will be passed Each parameter must be named

43 Parameters Thus to call our function, you can now do it in two ways: echo getnicetime(1); // this will print seconds echo getnicetime(0); // will not print seconds

44 Parameter Default Values Now if you were to call the function with no values, the $showseconds parameter would take on the default value, which we have set to 1, and return the string with seconds.

45 Pass Parameters by Value By default, arguments passed to functions are passed by value in PHP. This means that PHP passes a copy of the variable so if the parameter is modified within the function, it does not change the original.

46 Pass Parameters by Reference PHP also allows arguments to functions to be passed by reference, which will allow a function to change the contents of a passed variable. The mechanism in PHP to specify that a parameter is passed by reference is to add an ampersand (&) symbol next to the parameter name in the function declaration

47 Value vs Reference

48 Variable Scope in functions All variables defined within a function (such as parameter variables) have function scope, meaning that they are only accessible within the function. Any variables created outside of the function in the main script are unavailable within a function. $count= 56; // outputs 0 or generates run- function testscope() { echo $count; time } testscope(); echo $count; // outputs 56 //warning/error

49 Global variables Sometimes unavoidable Variables defined in the main script are said to have global scope. Unlike in other programming languages, a global variable is not, by default, available within functions. PHP does allow variables with global scope to be accessed within a function using the global keyword

50 Section 1 of 7 DATABASES AND WEB DEVELOPMENT

51 Databases and Web Development This chapter covers the core principles of relational Database Management Systems (DBMSs). All database management systems are capable of managing large amounts of data, maintaining data integrity, responding to many queries, creating indexes and triggers, and more. The term database can refer to both the software (i.e., to the DBMS) and to the data that is managed by the DBMS.

52 MySQL We will be using MySQL There are many other open source and proprietary relational DBMS, including: PostgreSQL Oracle Database IBM DB2 Microsoft SQL Server MySQL

53 The Role of Databases In Web Development Databases provide a way to implement one of the most important software design principles: one should separate that which varies from that which stays the same

54 Separate that which varies That is, use a DB to store the content of pages. The program (PHP) determines which data to display, often from information in the GET or POST query string, and then uses a database API to interact with the database Although the same separation could be achieved by storing content in files on the server, databases offer intuitive and optimized systems that do far more than a file based design that would require custom-built reading, parsing, and writing functions.

55 That Which Changes Can be stored in the DB

56 Database Design Tables A database in a Relational DBMS is composed of one or more tables. A table is a two-dimensional container for data that consists of records (rows); Each record has the same number of columns, which are called fields, which contain the actual data. Each table will have one special field called a primary key that is used to uniquely identify each record in a table.

57 Tables in a Database Illustrated example

58 Section 5 of 7 ACCESSING MYSQL IN PHP

59 Database Connection Algorithm No matter what API you use, the basic database connection algorithm is the same: 1. Connect to the database. 2. Handle connection errors. 3. Execute the SQL query. 4. Process the results. 5. Free resources and close connection.

60 Database Connection Algorithm An illustration through example

61 Database Connection Algorithm An illustration through example

62 Handling Connection Errors We need to handle potential connection errors in our code. Procedural mysqli techniques use conditional (if...else) statements on the returned object from the connection attempt. The PDO technique uses try-catch which relies on thrown exceptions when an error occurrs.

63 Handling Connection Errors Procedural Approach

64 Handling Connection Errors Object-Oriented PDO with try-catch In addition PDO has 3 different error modes, that allow you to control when errors are thrown.

65 Execute the Query Procedural and Object-Oriented Both return a result set, which is a type of cursor or pointer to the returned data

66 Queries that don t return data Procedural and Object-Oriented

67 Integrating User Data Say, using an HTML form posted to the PHP script

68 Integrating User Data Not everyone is nice. While this does work, it opens our site to one of the most common web security attacks, the SQL injection attack.

69 SQL Injection Illustration From Chapter 16

70 Defend against attack Distrust user input The SQL injection class of attack can be protected against by Sanitizing user input Using Prepared Statements

71 Sanitize User Input Quick and easy Each database system has functions to remove any special characters from a desired piece of text. In MySQL, user inputs can be sanitized in PHP using the mysqli_real_escape_string() method or, if using PDO, the quote() method

72 Prepared Statements Better in general A prepared statement is actually a way to improve performance for queries that need to be executed multiple times. When MySQL creates a prepared statement, it does something akin to a compiler in that it optimizes it so that it has superior performance for multiple requests. It also integrates sanitization into each user input automatically, thereby protecting us from SQL injection.

73 Prepared Statements mysqli

74 Prepared Statements PDO

75 Prepared Statements Comparison of two techniques

76 Process Query Results mysqli

77 Process Query Results Mysqli using prepared statements

78 Fetch into an object Instead of an array Consider the following (very simplified) class: class Book { } public $id; public $title; public $copyrightyear; public $description;

79 Fetch into an object Instead of an array The property names must match exactly (including the case) the field names in the table(s) in the query

80 Fetch into an object A more flexible example, where class names needn t match DB fields

81 Freeing Resources And closing the connection

82 Using Transactions mysqli

83 Using Transactions PDO

84 Section 6 of 7 CASE STUDY SCHEMAS

85 Art Database

86 Book CRM Database Customer Relationship Management

87 Travel Photo Sharing Database

88 Section 7 of 7 SAMPLE DATABASE TECHNIQUES

89 Display a list of Links One of the most common database tasks in PHP is to display a list of links (i.e., a series of <li> elements within a <ul>).

90 Display a list of Links At its simplest, the code would look something like the following: $sql = "SELECT * FROM Categories ORDER BY CategoryName ; $result = $pdo->query($sql); while ($row = $result->fetch()) { echo '<li> ; echo '<a href="list.php?category='. $row['id']. '"> ; echo $row['categoryname']; echo '</a> ; echo '</li> ; }

91 Display a list of Links More maintainable version

92 Search and Results Page Visual of search box, results page, and no results page

93 Search and Results Page In this example, we will assume that there is a text box with the name txtsearch in which the user enters a search string along with a Submit button. The data that we will filter is the Book table; we will display any book records that contain the user-entered text in the Title field.

94 Search and Results Page To redisplay the search term we will add code like: <input type="search name="txtsearch placeholder="enter search string value="<?php echo $_GET['txtSearch'];?>" /> To where we generate the form. Unfortunately

95 Search and Results Page Problem to be solved

96 Editing a Record

97 Editing a Record

INFORMATION BROCHURE Certificate Course in Web Design Using PHP/MySQL

INFORMATION BROCHURE Certificate Course in Web Design Using PHP/MySQL INFORMATION BROCHURE OF Certificate Course in Web Design Using PHP/MySQL National Institute of Electronics & Information Technology (An Autonomous Scientific Society of Department of Information Technology,

More information

PHP Tutorial From beginner to master

PHP Tutorial From beginner to master PHP Tutorial From beginner to master PHP is a powerful tool for making dynamic and interactive Web pages. PHP is the widely-used, free, and efficient alternative to competitors such as Microsoft's ASP.

More information

Short notes on webpage programming languages

Short notes on webpage programming languages Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of

More information

Facebook Twitter YouTube Google Plus Website Email

Facebook Twitter YouTube Google Plus Website Email PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute

More information

All MySQL and PHP training students receive a copy of Apress' Beginning PHP and MySQL 5: From Novice to Professional and other related courseware.

All MySQL and PHP training students receive a copy of Apress' Beginning PHP and MySQL 5: From Novice to Professional and other related courseware. Course Code: Course Title: Duration Training Objectives PHP-DMV-001 Building Data-Driven PHP Web Sites with Adobe Dreamweaver CS5 2 Days To teach attendees the PHP programming skills they need to successfully

More information

DIPLOMA IN WEBDEVELOPMENT

DIPLOMA IN WEBDEVELOPMENT DIPLOMA IN WEBDEVELOPMENT Prerequisite skills Basic programming knowledge on C Language or Core Java is must. # Module 1 Basics and introduction to HTML Basic HTML training. Different HTML elements, tags

More information

Real SQL Programming 1

Real SQL Programming 1 Real 1 We have seen only how SQL is used at the generic query interface an environment where we sit at a terminal and ask queries of a database. Reality is almost always different: conventional programs

More information

Webapps Vulnerability Report

Webapps Vulnerability Report Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during

More information

Ficha técnica de curso Código: IFCPR190b. Learning PHP, MySql and JavaScript

Ficha técnica de curso Código: IFCPR190b. Learning PHP, MySql and JavaScript Curso de: Objetivos: Learning PHP, MySql and JavaScript Aprender al desarrollo Web con las herramientas mas extendidas en la red como son un potente lenguaje interpretado, una buena base de datos y un

More information

ISI ACADEMY Web applications Programming Diploma using PHP& MySQL

ISI ACADEMY Web applications Programming Diploma using PHP& MySQL ISI ACADEMY for PHP& MySQL web applications Programming ISI ACADEMY Web applications Programming Diploma using PHP& MySQL HTML - CSS - JavaScript PHP - MYSQL What You'll Learn Be able to write, deploy,

More information

XML Processing and Web Services. Chapter 17

XML Processing and Web Services. Chapter 17 XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing

More information

Efficiency of Web Based SAX XML Distributed Processing

Efficiency of Web Based SAX XML Distributed Processing Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences

More information

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql 1 About WEB DEVELOPMENT Among web professionals, "web development" refers to the design aspects of building web sites. Web development

More information

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

Web development... the server side (of the force) Web development... the server side (of the force) Fabien POULARD Document under license Creative Commons Attribution Share Alike 2.5 http://www.creativecommons.org/learnmore Web development... the server

More information

Certified PHP Developer VS-1054

Certified PHP Developer VS-1054 Certified PHP Developer VS-1054 Certification Code VS-1054 Certified PHP Developer Vskills certification for PHP Developers assesses the candidate for developing PHP based applications. The certification

More information

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY Advanced Web Development Duration: 6 Months SCOPE OF WEB DEVELOPMENT INDUSTRY Web development jobs have taken thе hot seat when it comes to career opportunities and positions as a Web developer, as every

More information

Advanced PostgreSQL SQL Injection and Filter Bypass Techniques

Advanced PostgreSQL SQL Injection and Filter Bypass Techniques Advanced PostgreSQL SQL Injection and Filter Bypass Techniques INFIGO-TD TD-200 2009-04 2009-06 06-17 Leon Juranić leon.juranic@infigo.hr INFIGO IS. All rights reserved. This document contains information

More information

Database Programming with PL/SQL: Learning Objectives

Database Programming with PL/SQL: Learning Objectives Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs

More information

CSCI110 Exercise 4: Database - MySQL

CSCI110 Exercise 4: Database - MySQL CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but

More information

Java Application Developer Certificate Program Competencies

Java Application Developer Certificate Program Competencies Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle

More information

IE Class Web Design Curriculum

IE Class Web Design Curriculum Course Outline Web Technologies 130.279 IE Class Web Design Curriculum Unit 1: Foundations s The Foundation lessons will provide students with a general understanding of computers, how the internet works,

More information

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

THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY As the constantly growing demands of businesses and organizations operating in a global economy cause an increased

More information

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013 Database Management System Choices Introduction To Database Systems CSE 373 Spring 2013 Outline Introduction PostgreSQL MySQL Microsoft SQL Server Choosing A DBMS NoSQL Introduction There a lot of options

More information

How to test and debug an ASP.NET application

How to test and debug an ASP.NET application Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult

More information

10CS73:Web Programming

10CS73:Web Programming 10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server

More information

Exercise 1: Python Language Basics

Exercise 1: Python Language Basics Exercise 1: Python Language Basics In this exercise we will cover the basic principles of the Python language. All languages have a standard set of functionality including the ability to comment code,

More information

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

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,

More information

Web Development using PHP (WD_PHP) Duration 1.5 months

Web Development using PHP (WD_PHP) Duration 1.5 months Duration 1.5 months Our program is a practical knowledge oriented program aimed at learning the techniques of web development using PHP, HTML, CSS & JavaScript. It has some unique features which are as

More information

SQL Injection Attack Lab Using Collabtive

SQL Injection Attack Lab Using Collabtive Laboratory for Computer Security Education 1 SQL Injection Attack Lab Using Collabtive (Web Application: Collabtive) Copyright c 2006-2011 Wenliang Du, Syracuse University. The development of this document

More information

Designing and Implementing an Online Bookstore Website

Designing and Implementing an Online Bookstore Website KEMI-TORNIO UNIVERSITY OF APPLIED SCIENCES TECHNOLOGY Cha Li Designing and Implementing an Online Bookstore Website The Bachelor s Thesis Information Technology programme Kemi 2011 Cha Li BACHELOR S THESIS

More information

ICT. PHP coding. Universityy. in any

ICT. PHP coding. Universityy. in any Information Technology Services Division ICT Volume 3 : Application Standards ICT 3.2.1.1-2011 PHP Coding Standards Abstract This document defines the standards applicable to PHP coding. Copyright Deakin

More information

Course Outline Basic Web Development

Course Outline Basic Web Development Course Outline Basic Web Development For Professionals Who Can Participate? Anyone can join who has the interest to get into the creative web development profession. Prerequisite: Technical Skill: Must

More information

LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description

LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description Mastering LINUX Vikas Debnath Linux Administrator, Red Hat Professional Instructor : Vikas Debnath Contact

More information

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Course Number: IAC-SOFT-WDAD Web Design and Application Development Course Number: IAC-SOFT-WDAD Web Design and Application Development Session 1 (10 Hours) Client Side Scripting Session 2 (10 Hours) Server Side Scripting - I Session 3 (10 hours) Database Session 4 (10

More information

DBMS Project. COP5725 - Spring 2011. Final Submission Report

DBMS Project. COP5725 - Spring 2011. Final Submission Report DBMS Project COP5725 - Spring 2011 Final Submission Report Chandra Shekar # 6610-6717 Nitin Gujral # 4149-1481 Rajesh Sindhu # 4831-2035 Shrirama Tejasvi # 7521-6735 LINK TO PROJECT Project Website : www.cise.ufl.edu/~mallela

More information

DiskPulse DISK CHANGE MONITOR

DiskPulse DISK CHANGE MONITOR DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com info@flexense.com 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product

More information

FileMaker Server 12. Custom Web Publishing with PHP

FileMaker Server 12. Custom Web Publishing with PHP FileMaker Server 12 Custom Web Publishing with PHP 2007 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks

More information

ICT. Universityy. in any

ICT. Universityy. in any Information Technology Services Division ICT Volume 3 : Application Standards ICT 3.2.2-2011 Web Application Development Standards Abstract This document defines standards applicable to any web application

More information

Instructor: Betty O Neil

Instructor: Betty O Neil Introduction to Web Application Development, for CS437/637 Instructor: Betty O Neil 1 Introduction: Internet vs. World Wide Web Internet is an interconnected network of thousands of networks and millions

More information

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Introduction Client-Side scripting involves using programming technologies to build web pages and applications that are run on the client (i.e.

More information

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

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 1 Databases 2 File and Database Concepts A database is a collection of information Databases are typically stored as computer files A structured file is similar to a card file or Rolodex because it uses

More information

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

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

More information

CrownPeak Playbook CrownPeak Hosting with PHP

CrownPeak Playbook CrownPeak Hosting with PHP CrownPeak Playbook CrownPeak Hosting with PHP Version 1.0 2014, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,

More information

Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB

Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB 21.1 Advanced Tornado Advanced Tornado One of the main reasons we might want to use a web framework like Tornado is that they hide a lot of the boilerplate stuff that we don t really care about, like escaping

More information

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx ASP.NET Overview.NET Framework 4 ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is

More information

FileMaker Server 15. Custom Web Publishing Guide

FileMaker Server 15. Custom Web Publishing Guide FileMaker Server 15 Custom Web Publishing Guide 2004 2016 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks

More information

Tutorial of SQL Power Injector 1.1

Tutorial of SQL Power Injector 1.1 Copyright 2006 Francois Larouche 1 Copyright 2006 Francois Larouche 2 Copyright 2006 Francois Larouche 3 Please follow first the main schema and if you need more details go to their respective number detailed

More information

A Brief Introduction to MySQL

A Brief Introduction to MySQL A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term

More information

Seamless Web Data Entry for SAS Applications D.J. Penix, Pinnacle Solutions, Indianapolis, IN

Seamless Web Data Entry for SAS Applications D.J. Penix, Pinnacle Solutions, Indianapolis, IN Seamless Web Data Entry for SAS Applications D.J. Penix, Pinnacle Solutions, Indianapolis, IN ABSTRACT For organizations that need to implement a robust data entry solution, options are somewhat limited

More information

1. What is SQL Injection?

1. What is SQL Injection? SQL Injection 1. What is SQL Injection?...2 2. Forms of vulnerability...3 2.1. Incorrectly filtered escape characters...3 2.2. Incorrect type handling...3 2.3. Vulnerabilities inside the database server...4

More information

Java the UML Way: Integrating Object-Oriented Design and Programming

Java the UML Way: Integrating Object-Oriented Design and Programming Java the UML Way: Integrating Object-Oriented Design and Programming by Else Lervik and Vegard B. Havdal ISBN 0-470-84386-1 John Wiley & Sons, Ltd. Table of Contents Preface xi 1 Introduction 1 1.1 Preliminaries

More information

Understanding Web Application Security Issues

Understanding Web Application Security Issues Understanding Web Application Security Issues Pankaj Sharma January 30, 2009 Indian Computer Emergency Response Team ( CERT - IN ) Department Of Information Technology 1 Agenda Introduction What are Web

More information

Zend Framework Database Access

Zend Framework Database Access Zend Framework Database Access Bill Karwin Copyright 2007, Zend Technologies Inc. Introduction What s in the Zend_Db component? Examples of using each class Using Zend_Db in MVC applications Zend Framework

More information

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

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida CREDIT HOURS 3 credits hours PREREQUISITE Completion of EME 6208 with a passing

More information

PHP Authentication Schemes

PHP Authentication Schemes 7 PHP Authentication Schemes IN THIS CHAPTER Overview Generating Passwords Authenticating User Against Text Files Authenticating Users by IP Address Authenticating Users Using HTTP Authentication Authenticating

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

SQL Injection. The ability to inject SQL commands into the database engine through an existing application

SQL Injection. The ability to inject SQL commands into the database engine through an existing application SQL Injection The ability to inject SQL commands into the database engine through an existing application 1 What is SQL? SQL stands for Structured Query Language Allows us to access a database ANSI and

More information

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

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms Mohammed M. Elsheh and Mick J. Ridley Abstract Automatic and dynamic generation of Web applications is the future

More information

USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD)

USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD) USING MYWEBSQL MyWebSQL is a database web administration tool that will be used during LIS 458 & CS 333. This document will provide the basic steps for you to become familiar with the application. 1. To

More information

Design and Functional Specification

Design and Functional Specification 2010 Design and Functional Specification Corpus eready Solutions pvt. Ltd. 3/17/2010 1. Introduction 1.1 Purpose This document records functional specifications for Science Technology English Math (STEM)

More information

Course Scheduling Support System

Course Scheduling Support System Course Scheduling Support System Roy Levow, Jawad Khan, and Sam Hsu Department of Computer Science and Engineering, Florida Atlantic University Boca Raton, FL 33431 {levow, jkhan, samh}@fau.edu Abstract

More information

Fachgebiet Technische Informatik, Joachim Zumbrägel

Fachgebiet Technische Informatik, Joachim Zumbrägel Computer Network Lab 2015 Fachgebiet Technische Informatik, Joachim Zumbrägel Overview Internet Internet Protocols Fundamentals about HTTP Communication HTTP-Server, mode of operation Static/Dynamic Webpages

More information

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner 1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi

More information

User Pass-Through Authentication in IBM Cognos 8 (SSO to data sources)

User Pass-Through Authentication in IBM Cognos 8 (SSO to data sources) User Pass-Through Authentication in IBM Cognos 8 (SSO to data sources) Nature of Document: Guideline Product(s): IBM Cognos 8 BI Area of Interest: Security Version: 1.2 2 Copyright and Trademarks Licensed

More information

CSCI110: Examination information.

CSCI110: Examination information. CSCI110: Examination information. The exam for CSCI110 will consist of short answer questions. Most of them will require a couple of sentences of explanation of a concept covered in lectures or practical

More information

FileMaker Server 14. Custom Web Publishing Guide

FileMaker Server 14. Custom Web Publishing Guide FileMaker Server 14 Custom Web Publishing Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks

More information

WIRIS quizzes web services Getting started with PHP and Java

WIRIS quizzes web services Getting started with PHP and Java WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS

More information

PHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery

PHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code

More information

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com Lukas Smith database abstraction layers in PHP BackendMedia 1 Overview Introduction Motivation PDO extension PEAR::MDB2 Client API SQL syntax SQL concepts Result sets Error handling High level features

More information

Certified PHP/MySQL Web Developer Course

Certified PHP/MySQL Web Developer Course Course Duration : 3 Months (120 Hours) Day 1 Introduction to PHP 1.PHP web architecture 2.PHP wamp server installation 3.First PHP program 4.HTML with php 5.Comments and PHP manual usage Day 2 Variables,

More information

HTML5. Turn this page to see Quick Guide of CTTC

HTML5. Turn this page to see Quick Guide of CTTC Programming SharePoint 2013 Development Courses ASP.NET SQL TECHNOLGY TRAINING GUIDE Visual Studio PHP Programming Android App Programming HTML5 Jquery Your Training Partner in Cutting Edge Technologies

More information

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010 Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache

More information

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL

More information

Dreamweaver CS5. Module 2: Website Modification

Dreamweaver CS5. Module 2: Website Modification Dreamweaver CS5 Module 2: Website Modification Dreamweaver CS5 Module 2: Website Modification Last revised: October 31, 2010 Copyrights and Trademarks 2010 Nishikai Consulting, Helen Nishikai Oakland,

More information

Adam Rauch Partner, LabKey Software adam@labkey.com. Extending LabKey Server Part 1: Retrieving and Presenting Data

Adam Rauch Partner, LabKey Software adam@labkey.com. Extending LabKey Server Part 1: Retrieving and Presenting Data Adam Rauch Partner, LabKey Software adam@labkey.com Extending LabKey Server Part 1: Retrieving and Presenting Data Extending LabKey Server LabKey Server is a large system that combines an extensive set

More information

RDS Migration Tool Customer FAQ Updated 7/23/2015

RDS Migration Tool Customer FAQ Updated 7/23/2015 RDS Migration Tool Customer FAQ Updated 7/23/2015 Amazon Web Services is now offering the Amazon RDS Migration Tool a powerful utility for migrating data with minimal downtime from on-premise and EC2-based

More information

Lesson 4 Web Service Interface Definition (Part I)

Lesson 4 Web Service Interface Definition (Part I) Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs

More information

VB.NET Programming Fundamentals

VB.NET Programming Fundamentals Chapter 3 Objectives Programming Fundamentals In this chapter, you will: Learn about the programming language Write a module definition Use variables and data types Compute with Write decision-making statements

More information

VHDL Test Bench Tutorial

VHDL Test Bench Tutorial University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate

More information

FileMaker Server 13. Custom Web Publishing with XML

FileMaker Server 13. Custom Web Publishing with XML FileMaker Server 13 Custom Web Publishing with XML 2004 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks

More information

Perl in a nutshell. First CGI Script and Perl. Creating a Link to a Script. print Function. Parsing Data 4/27/2009. First CGI Script and Perl

Perl in a nutshell. First CGI Script and Perl. Creating a Link to a Script. print Function. Parsing Data 4/27/2009. First CGI Script and Perl First CGI Script and Perl Perl in a nutshell Prof. Rasley shebang line tells the operating system where the Perl interpreter is located necessary on UNIX comment line ignored by the Perl interpreter End

More information

Equipment Room Database and Web-Based Inventory Management

Equipment Room Database and Web-Based Inventory Management Equipment Room Database and Web-Based Inventory Management Project Proposal Sean M. DonCarlos Ryan Learned Advisors: Dr. James H. Irwin Dr. Aleksander Malinowski December 12, 2002 TABLE OF CONTENTS Project

More information

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence 2. Web Servers Introduction Web content lives on Web servers Web servers speak the platform independent HyperText Transfer Protocol (HTTP) (so

More information

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014 CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections

More information

GLEN RIDGE PUBLIC SCHOOLS MATHEMATICS MISSION STATEMENT AND GOALS

GLEN RIDGE PUBLIC SCHOOLS MATHEMATICS MISSION STATEMENT AND GOALS Course Title: Advanced Web Design Subject: Mathematics / Computer Science Grade Level: 9-12 Duration: 0.5 year Number of Credits: 2.5 Prerequisite: Grade of A or higher in Web Design Elective or Required:

More information

Specialized Programme on Web Application Development using Open Source Tools

Specialized Programme on Web Application Development using Open Source Tools Specialized Programme on Web Application Development using Open Source Tools Objective: At the end of the course, Students will be able to: Understand various open source tools(programming tools and databases)

More information

PHP Integration Kit. Version 2.5.1. User Guide

PHP Integration Kit. Version 2.5.1. User Guide PHP Integration Kit Version 2.5.1 User Guide 2012 Ping Identity Corporation. All rights reserved. PingFederate PHP Integration Kit User Guide Version 2.5.1 December, 2012 Ping Identity Corporation 1001

More information

CRM Setup Factory Installer V 3.0 Developers Guide

CRM Setup Factory Installer V 3.0 Developers Guide CRM Setup Factory Installer V 3.0 Developers Guide Who Should Read This Guide This guide is for ACCPAC CRM solution providers and developers. We assume that you have experience using: Microsoft Visual

More information

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

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007 WWW World Wide Web Aka The Internet dr. C. P. J. Koymans Informatics Institute Universiteit van Amsterdam November 30, 2007 dr. C. P. J. Koymans (UvA) WWW November 30, 2007 1 / 36 WWW history (1) 1968

More information

Security Test s i t ng Eileen Donlon CMSC 737 Spring 2008

Security Test s i t ng Eileen Donlon CMSC 737 Spring 2008 Security Testing Eileen Donlon CMSC 737 Spring 2008 Testing for Security Functional tests Testing that role based security functions correctly Vulnerability scanning and penetration tests Testing whether

More information

SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova

SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova Where someone is building a Web application, often he need to use databases to store information, or to manage user accounts. And

More information

CS346: Database Programming. http://warwick.ac.uk/cs346

CS346: Database Programming. http://warwick.ac.uk/cs346 CS346: Database Programming http://warwick.ac.uk/cs346 1 Database programming Issue: inclusionofdatabasestatementsinaprogram combination host language (general-purpose programming language, e.g. Java)

More information

4.2 Understand Microsoft ASP.NET Web Application Development

4.2 Understand Microsoft ASP.NET Web Application Development L E S S O N 4 4.1 Understand Web Page Development 4.2 Understand Microsoft ASP.NET Web Application Development 4.3 Understand Web Hosting 4.4 Understand Web Services MTA Software Fundamentals 4 Test L

More information

TATJA: A Test Automation Tool for Java Applets

TATJA: A Test Automation Tool for Java Applets TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann mxue0001@um.edu.mt Abstract Although there are some very good tools to test Web Applications, such tools neglect

More information

FileMaker Server 9. Custom Web Publishing with PHP

FileMaker Server 9. Custom Web Publishing with PHP FileMaker Server 9 Custom Web Publishing with PHP 2007 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker,

More information

DbSchema Tutorial with Introduction in SQL Databases

DbSchema Tutorial with Introduction in SQL Databases DbSchema Tutorial with Introduction in SQL Databases Contents Connect to the Database and Create First Tables... 2 Create Foreign Keys... 7 Create Indexes... 9 Generate Random Data... 11 Relational Data

More information

Maintaining Stored Procedures in Database Application

Maintaining Stored Procedures in Database Application Maintaining Stored Procedures in Database Application Santosh Kakade 1, Rohan Thakare 2, Bhushan Sapare 3, Dr. B.B. Meshram 4 Computer Department VJTI, Mumbai 1,2,3. Head of Computer Department VJTI, Mumbai

More information

Writing Scripts with PHP s PEAR DB Module

Writing Scripts with PHP s PEAR DB Module Writing Scripts with PHP s PEAR DB Module Paul DuBois paul@kitebird.com Document revision: 1.02 Last update: 2005-12-30 As a web programming language, one of PHP s strengths traditionally has been to make

More information

MYSQL DATABASE ACCESS WITH PHP

MYSQL DATABASE ACCESS WITH PHP MYSQL DATABASE ACCESS WITH PHP Fall 2009 CSCI 2910 Server Side Web Programming Typical web application interaction Database Server 3 tiered architecture Security in this interaction is critical Web Server

More information