0% found this document useful (0 votes)
16 views

Lect 22 Validating Users Input

This document summarizes a lecture on validating user input in PHP. It discusses using regular expressions to validate things like dates, names, emails and passwords. It also covers PHP string functions like strlen(), strcmp(), strtolower() that can be used for validation. For example, checking the length of a password with strlen() and comparing two entered passwords with strcmp(). The document provides examples of regular expressions for common data types and explains how to use preg_match() to validate user input server-side in PHP.

Uploaded by

Aqsa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Lect 22 Validating Users Input

This document summarizes a lecture on validating user input in PHP. It discusses using regular expressions to validate things like dates, names, emails and passwords. It also covers PHP string functions like strlen(), strcmp(), strtolower() that can be used for validation. For example, checking the length of a password with strlen() and comparing two entered passwords with strcmp(). The document provides examples of regular expressions for common data types and explains how to use preg_match() to validate user input server-side in PHP.

Uploaded by

Aqsa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Lecture 22

Validating user input

Mr. Mubashir Ali


Lecturer (Dept. of Computer Science)
[email protected]
1
Summary of the previous lecture
• Super Global variables
• Passing form data
• Passing data with sessions

Mubashir Ali - Lecturer (Department of


2
Computer Science).
Outline
• Regular expressions in PHP
• Validating user input at server
• String functions

Mubashir Ali - Lecturer (Department of


3
Computer Science).
1. Regular expressions in PHP
• A regular expression is a concise notation to
describe patterns in strings
• Regular expressions provide the foundation
for describing or matching data according to
defined syntax rules
– Example: |^[0-9]{2}-[0-9]{2}-[0-9]{4}$|

Mubashir Ali - Lecturer (Department of


4
Computer Science).
1. Regular expressions in PHP…
Sub pattern with fixed character

Start and end of RE

|^[0-9]{2}-[0-9]{2}-[0-9]{4}$|
Sub pattern Sub pattern Sub pattern

Start matching
Match the end of
from the start [0-9] {2} the string

Allowed length
characters

Mubashir Ali - Lecturer (Department of


5
Computer Science).
1. Regular expressions in PHP…
• Start and end of the RE:
– optional, ||
• Sub-patterns:
– range of allowed characters
– Allowed length
• Sub-patterns with fixed character:

Mubashir Ali - Lecturer (Department of


6
Computer Science).
1. Regular expressions in PHP…
• Matching from the start:
– 1212-12-2014
Pattern exists if do not
match from start

• Matching till end:


– 12-12-2014123
Pattern exists if do
not match till end
• For exact match we should use both ^ and $
Mubashir Ali - Lecturer (Department of
7
Computer Science).
1.1 Notations for RE
• ^: match strings that start with the given pattern
• $: match strings that end with the given pattern
• -: means a range of characters
• [ ]: makes a class of characters
• [^ ]: negates the class of character

Mubashir Ali - Lecturer (Department of


8
Computer Science).
1.1 Notation for RE…
• Quantifiers:
• {n}: matches a character, class or sub-
pattern for n times
• { n, m}: matches a character, class or sub-
pattern for minimum n times and
maximum m times

Mubashir Ali - Lecturer (Department of


9
Computer Science).
1.1 Notation for RE…
• ?: matches the character, class or sub-
pattern 0 or 1 time
– equal to {0,1}
• +: matches the character, class or sub-
pattern 1 or more times
– equals to {1, }
• *: matches the character, class or sub-
pattern 0 or any number of time
– equals {0, }

Mubashir Ali - Lecturer (Department of


10
Computer Science).
1.1 Notation for RE…
Predefined character ranges:
• \d: means exactly as [0-9]
• \D: means exactly as [^0-9]
• \w: means exactly as [a-zA-Z0-9]

Mubashir Ali - Lecturer (Department of


11
Computer Science).
1.1 Notation for RE…
RE examples:
• Validating date:
–|^\d{2}-\d{2}-\d{4}$|
• Validating CNIC:
–|^\d{5}-\d{7}-\d{1}$|
• Validating Email:
–|^[a-zA-Z0-9_.]+@[a-z]{3,5}.[a-z]{2,3}$|

Mubashir Ali - Lecturer (Department of


12
Computer Science).
1.1 Notation for RE…
• Validating name:
–|^[a-zA-Z ]{5,25}$|
• Validating Password:
–must contain ‘@’
–|@|

Mubashir Ali - Lecturer (Department of


13
Computer Science).
2. Validating user’s input
• preg_match():
– searches a string for a specific pattern
– returns TRUE if it exists and FALSE otherwise
– preg_match(“pattern”,$string);

Mubashir Ali - Lecturer (Department of


14
Computer Science).
2. Validating user’s input
Post, action.php
name

email

cnic

dob

Mubashir Ali - Lecturer (Department of


15
Computer Science).
2. Validating user’s input

Receiving values

Validating
name

Mubashir Ali - Lecturer (Department of


16
Computer Science).
2. Validating user’s input

email

CNIC

DoB

Mubashir Ali - Lecturer (Department of


17
Computer Science).
3. String functions in PHP
• strlen():
– Returns the length of the string
– strlen($string);
• strcmp():
– Compares two strings
– Returns 0 if strings are equal, 1 if first string is greater
and -1 if second is greater
– strcmp($string1,$string2);
• Strcasecmp():
– Compares two strings in case insensitive manner
– strcasecmp($string1,$string2);

Mubashir Ali - Lecturer (Department of


18
Computer Science).
3. String functions in PHP…
Method=post

name
pass

pass1

Mubashir Ali - Lecturer (Department of


19
Computer Science).
3. String functions in PHP…

Getting variables

Using strlen()

Mubashir Ali - Lecturer (Department of


20
Computer Science).
3. String functions in PHP…

Password is short

Mubashir Ali - Lecturer (Department of


21
Computer Science).
3. String functions in PHP…
Compares pass and
pass1

Mubashir Ali - Lecturer (Department of


22
Computer Science).
3. String functions in PHP…
• strtolower():
– Convert a string in lower case
– strtolower($string);
• strtoupper():
– Convert a string in upper case
– strtoupper($string);
• ucfirst():
– Convert the first character of a string to upper case
– ucfirst($string);
• ucwords():
– Convert the first character of each word in a string to upper case
– ucfirst($string);

Mubashir Ali - Lecturer (Department of


23
Computer Science).
3. String functions in PHP…
Converts name to
lowercase
Converts name
to uppercase

Using ucfirst() Using ucwords()

Mubashir Ali - Lecturer (Department of


24
Computer Science).
3. String functions in PHP…

Lowercase

uppercase
ucfirst()

ucwords()
Mubashir Ali - Lecturer (Department of
25
Computer Science).
3. String functions in PHP…
• strpos():
– finds the position of the first case-sensitive occurrence of a
substring in a string
– strpos($string,sub-string);
• strrpos():
– finds the position of the last case-sensitive occurrence of a
substring in a string
– strrpos($string,sub-string);
• substr_count():
– returns the number of times one string occurs within another
– substr_count($string,sub-string);

Mubashir Ali - Lecturer (Department of


26
Computer Science).
3. String functions in PHP…
Finding first occurrence of ‘a’

Last occurrence of ‘a’


Finding number of occurrences
of ‘a’

Mubashir Ali - Lecturer (Department of


27
Computer Science).
3. String functions in PHP…

First occurrence of ‘a’


Last occurrence of ‘a’

Number of occurrences of ‘a’


Mubashir Ali - Lecturer (Department of
28
Computer Science).
Summary
• Writing regular expression in PHP
• Validating user’s input
• String functions

Mubashir Ali - Lecturer (Department of


29
Computer Science).
References
• Chapter 9, “Beginning PHP and MySQL” by W.
Jason Gilmore, Apress publisher, 4th edition;
2010, ISBN-13 (electronic): 978-1-4302-3115-
8.

Mubashir Ali - Lecturer (Department of


30
Computer Science).

You might also like