590 likes | 611 Views
PHP (2) – Functions, Arrays, Databases, email and sessions. Location of User defined PHP functions. Where can PHP Functions be located ? The short answer is: Anywhere! Before the <head> section. In the <head> ... </head> section. In the <body> ... </body> section. PHP Function Location.
E N D
Location of User defined PHP functions Where can PHP Functions be located ? The short answer is: Anywhere! • Before the <head> section. • In the <head> ... </head> section. • In the <body> ... </body> section
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
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.
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.
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.
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.
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
PHP and MySQL (2) • PHP functions that interact with MySQL may be classified into groups. These are shown in the table below:-
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.
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.
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.
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.
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.
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.
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.
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.
Sending email from PHP • PHP can send email. • The function to do this is called mail()
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.
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.
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.