PHP Programming.Pdf
Total Page:16
File Type:pdf, Size:1020Kb
PHP Programming by ebookvala.blogspot.com INDEX What is PHP?.................................................................................................................3 Setup and Installation......................................................................................................4 Installation on Linux.................................................................................................... 4 Installation on Windows...............................................................................................5 Installation on Mac OS X.............................................................................................6 Beginning with "Hello World!" .........................................................................................8 Basics..............................................................................................................................12 Commenting and Style ...................................................................................................18 Arrays .............................................................................................................................20 Control structures ...........................................................................................................25 The if Structure ...............................................................................................................25 The switch Structure .......................................................................................................28 The while Loop ...............................................................................................................31 The do while Loop ..........................................................................................................33 The for Loop ...................................................................................................................34 The foreach Loop ...........................................................................................................37 Functions ........................................................................................................................40 Files ................................................................................................................................47 . Mailing ............................................................................................................................56 Cookies ..........................................................................................................................58 Sessions ........................................................................................................................60 Databases .....................................................................................................................63 MySQL ...........................................................................................................................63 PostgreSQL ....................................................................................................................66 PHP Data Objects...........................................................................................................67 Integration Methods (HTML Forms, etc.) .......................................................................68 What is PHP? PHP is a scripting language designed to fill the gap between SSI (Server Side Includes) and Perl, intended largely for the web environment. PHP has gained quite a following in recent times, and it is one of the forerunners in the Open Source software movement. Its popularity derives from its C-like syntax, its speed and its simplicity. PHP is currently divided into two major versions: PHP 4 and PHP 5, although PHP 4 is deprecated and is no longer developed or supplied with critical bug fixes. PHP 6 is currently under development. If you've ever been to a website that needs you to login, you've probably encountered a server-side scripting language. Due to its market saturation, this means you've probably come across PHP. PHP was designed by Rasmus Lerdorf to display his resume online and to collect data from his visitors. Basically, PHP allows a static web document to become dynamic. "PHP" is a recursive acronym that stands for "PHP: Hypertext Preprocessor". PHP preprocesses (that is, PHP processes before the output is sent to the browser) hypertext documents. Because of this, the pages can change before the user sees them, based on conditions. This can be used to write something to the page, create a table with a number of rows equal to the number of times the user has visited, or integrate the web page with a web database, such as MySQL. Before you embark on the wonderful journey of Server Side Processing, it is recommended that you have some basic understanding of the HyperText Markup Language. PHP is also being used to build GUI-driven applications; PHP-GTK is used to build Graphical User Interfaces. PHP Programming/Setup and Installation 1 Setup and Installation 1.1 Linux 1.1.1 Debian or its derivatives 1.1.2 Gentoo 1.1.3 RPM-based 1.2 Windows 1.2.1 Databases 1.2.1.1 Postgresql 1.2.1.2 MySQL 1.2.2 Bundled Package 1.3 Mac OS X 2 How Do I Know My Setup is Working? Setup and Installation Since PHP is a server-side technology, you should naturally expect to invest some time in setting up a server environment for production, development or learning. To be frank, PHP is quite easy to set up compared to other monsters like J2EE. Nevertheless, the procedures are complicated by the various combinations of different versions of web server, PHP and database (most often MySQL). Below I will introduce the steps needed to set up a working PHP environment with MySQL database. Linux If your desktop runs on Linux, chances are that Apache, PHP, and MySQL are already installed for you. This wildly popular configuration is commonly referred to as LAMP, i.e. Linux Apache MySQL PHP, or P, the latter 'P', can also refer to Perl another major player in the opensource web service arena. If some components are not installed, you will likely have to manually install the following packages: Apache or Lighttpd PHP MySQL or Postgres The PHP integration plugin for the database. Debian or its derivatives On Debian or its derivatives, Ubuntu included[1], you can use the corresponding commands: apt-get install php5 ## Server #### If you wish to use Apache apt-get install apache2 ## -or- #### If you wish to use Lighttpd apt-get install lighttpd ## Database #### If you wish to use Postgres apt-get install postgres-server postgres-client php5-pg ## -or- #### If you wish to use Mysql apt-get install mysql-server mysql-client php5-mysql ^ If you chose to use Ubuntu with Apache and MySQL you might wish to utilize the Ubuntu community site for such a configuration ubuntu lamp wiki. Gentoo For Gentoo Linux users, the gentoo-wiki has this HowTo available: Apache2 with PHP and MySQL. In general, you'll want to do the following under Gentoo: emerge apache emerge mysql emerge mod_php RPM-based The exact procedures depend on your Linux distribution. On a Fedora system, the commands are typically as follows: yum install httpd yum install php yum install mysql yum install php-mysql It's impossible to cover all the variants here, so consult your Linux distribution's manual for more details, or grab a friend to do it for you. One sure-fire way of getting PHP up and running on your *nix system is to compile it from source. This isn't as hard as it may sound and there are good instructions available in the PHP manual. Windows Contrary to what some people may think, PHP on Windows is a very popular option. On a Windows platform, you have the option to use either the open source Apache web server, or the native Internet Information Services (IIS) server from Microsoft, which can be installed from your Windows CD. When you have one of these servers installed, you can download and install the appropriate PHP Windows binaries distributions from PHP download page. The installer version requires less user-interaction. For increased performance you will want to use FastCGI. There is a wikibook that will assist you on Setting up IIS with FastCGI. Databases On Microsoft Windows you must always install your own database. Two popular choices are the open source Postgres, and MySQL. Postgres is more liberally licensed, and is free to use for commercial purposes. Postgresql Official Zend documentation: http://us.php.net/pgsql Postgres is simple and easy to install, browse to http://www.postgresql.org/ftp/binary/v8.3.0/win32/ and download the exe and double-click. MySQL Official MySQL documentation: http://us.php.net/mysql You might wish to install the MySQL database. You can download the Windows version of MySQL, and follow the installation instructions. If you have PHP 4, you do not need to install the equivalence of php-mysql on Linux, as MySQL support is built-in in Windows distributions of PHP. In PHP 5 you will need to uncomment the following line in your php.ini file (that is, remove the ';' at the beginning of the line): ;extension=php_mysql.dll Bundled Package If you find all the above too much a hassle, you have another option. Driven by the eternal desire to do things the safe/easy way, several conveniently packaged AMP bundles of Apache/MySQL/PHP can be found on the net. One of them is PHPTriad. Or, you can try Uniform Server. It is a small WAMP Package. 1 click install and also easy to use. Same with XAMPP for Windows. And after trying these