Presentation is loading. Please wait.

Presentation is loading. Please wait.

PHP (2) – Functions, Arrays, Databases, email and sessions.

Similar presentations


Presentation on theme: "PHP (2) – Functions, Arrays, Databases, email and sessions."— Presentation transcript:

1 PHP (2) – Functions, Arrays, Databases, email and sessions

2 Location of User defined PHP functions Where can PHP Functions be located ? The short answer is: Anywhere! Before the section. In the... section. In the... section

3 PHP Function Location

4 The output of the previous slide

5 External PHP Functions Can we put PHP functions in external files and load them into pages ? - Yes ! When a website gets beyond a few pages in size, then it is most convenient to put the PHP functions in one or more external files. This also facilitates the maintenance and upgrading of the site

6 Example of external PHP function file

7 Result of interpreting the php file on the previous page

8 Returning Values from functions PHP functions can return a value – note that returning a value from a function is optional. The syntax for returning a single value is fairly straightforward – you just use the return keyword followed by the variable or value you want to return from the function. PHP functions can also return nothing at all. i.e a function doesn’t have to use the return keyword at all or it can use return and not have a variable or value after it.

9 Example function returning a value

10 Result of interpreting the code in the previous slide

11 PHP Arrays An array in PHP is a list of key/value elements in which any number of values can be stored (provided there is enough memory available). There are 2 types of arrays in PHP – indexed and associative Indexed arrays are the ones most people are familiar with. The key (or index) to each value is an integer. Associative arrays can be useful at times. Members of associative arrays are accessed by means of text strings. The key (or index) to each value is a string. When working with arrays in PHP, there is frequently more than one way of accomplishing a task.

12 Creating Indexed Arrays and the scope of loops

13 The result of accessing the previous page

14 Creating Associative Arrays

15 Accessing the elements of an Associative Array Elements can be accessed easily by means of their key. If you want to access each element in sequence there are a number of approaches. One simple approach is to use the each() function.

16 Using each() and reset()

17 The result of running the previous page.

18 The foreach() function This is similar to the each() function, but it incorporates a loop and traverses the whole array it is applied to. The foreach() function takes two arguments. The first argument is the name of the array to be traversed. The second argument is the name of the variable to hold the individual element. The foreach() function can be applied to multidimensional arrays and associative arrays as well as indexed arrays.

19 Using the foreach() function

20 The result of accessing the previous page

21 PHP functions supporting MYSQL operations PHP has a large number of functions that enable it to interact with mysql databases. This includes functions to open and close connections with databases, pass SQL queries to MYSQL tables, and process the results of queries. The results of MYSQL queries in PHP can usually be treated as an array

22 PHP and MySQL (2) PHP functions that interact with MySQL may be classified into groups. These are shown in the table below:-

23 Connecting and Disconnecting to MySQL Databases using PHP

24 Define a PHP constant by using the define() function The PHP define() function enables PHP programmers to create named data items whose value cannot be changed. Once a constant is defined, it can never be changed or undefined in the script.

25 Using the define() function

26 Creating and dropping databases in PHP There are 2 functions in this group. These are mysql_create_db and mysql_drop_db. These functions would normally only be used by the administrator of an e-commerce website. The power to create and destroy tables is not something that outside users of e-commerce sites should be allowed to do. There are very severe security considerations associated with these commands.

27 MySQL Access Privileges In MySQL (and most other serious database systems) it is possible to set different access levels for different users. Access privileges for MySQl include select (i.e. query), insert, update, delete, create, drop, reload and many others. Casual users of database systems (e.g. the user “potiro” in the poti database system) are normally only given the “select” privilege. This means that they can only read tables using the “select” statement.

28 Performing MySQL queries using PHP

29 MySQL Queries As outlined last week, MySQL groups data into databases. Each database consists of one or more tables. It is the tables that actually contain useful data. An example database is the poti database on the MySQL server on sally. The user “potiro” has access to the mysql server on sally. Rather than having unrestricted access to all databases on the mysql server on sally, the user potiro only has access to the database poti. This access is further restricted to read access only. That is, the user potiro can only read tables in the database poti.

30 MySQL Select Query example Consider a table called “books” in a database called “wea”. The table has the structure outlined below:- To run a query that selects all columns of all rows in the table books that have the author_lastname column equal to “Barrow” we can either run a select command interactively or use the PHP mysql_query command.

31 Contents of books table

32 A form driven query can be constructed to search the table

33 Searchbooks.php

34 The result of running the previous slide

35 Accessing the array $a_row as an indexed array We can also treat each row of the output of the mysql query as an indexed array.

36 The best alternative for handling the output – an associative array As shown on the previous slides, processing the result of mysql_query using an indexed array works quite well. However, processing the result of the query as an associative array gives us a lot more flexibility.

37 Processing the results associative array If we treat the results of mysql_query as an associative array, we actually have a lot more freedom with what we can do. For example, we can alter the order in which the columns are printed out. We can also ignore some columns if we wish.

38 Processing the results associative array (2)

39 Processing the results associative array (3)

40 PHP functions returning other information about MySQL

41 Example usage of mysql_list_dbs()

42 Output of the previous slide

43 Sending email from PHP PHP can send email. The function to do this is called mail()

44 Understanding Sessions To use sessions we need to bring together a number of concepts that we have already looked at in this course. These are : Forms – getting and posting data Arrays : Associative and indexed Server $_GET,$_POST and $_REQUEST arrays, also the $_SESSION array.

45 PHP Sessions PHP Sessions are a way of storing persistent data, created in one web page, on the server so it can be accessed by multiple web pages.

46 Example Session The next few pages show some example php and HTML for creating a session and storing two variables “products[]” (an array) and “pos” an integer giving the index number of the next available position in the array. All 3 pages (setup.php, view.php and unreg.php) begin with a call to session_start() setup.php is used to create the session initially, view.php is used to view the stored data and unreg.php is used to end the session and destroy any stored data.

47 Session files structure

48

49

50 PHP Session – setup form

51 Running setup.php

52

53 view.php

54 Running view.php

55 Ending a session - unreg.php

56  The session data is stored in a file that can only be read by the user running the server (at least on Unix systems this is the case)  Every session has a unique session id  The stored session data is stored in a special format inside the file.  When the session_start() function is called the file is created but is empty.  Calling session_unreg() deletes the session file Some more facts about sessions

57  Sessions normally use cookies to store the session id on the client side.  The location of the session files is set by the PHP configuration file (php.ini) which uses the directive session.save_path to set it. Yet more facts about Sessions

58 References: Textbook (Meloni) The php.net site has a lot of information about sessions and MySQL. See http://au2.php.net/session and http://au2.php.net/mysql http://au2.php.net/session http://au2.php.net/mysql There is a good discussion of sessions at http://www.oreilly.com/catalog/webdbapps/ch apter/ch08.html http://www.oreilly.com/catalog/webdbapps/ch apter/ch08.html In addition, a search on Google will bring up many other websites.


Download ppt "PHP (2) – Functions, Arrays, Databases, email and sessions."

Similar presentations


Ads by Google