PHP - (официально "PHP: Hypertext Preprocessor") - платформо-независимый, исполняющийся на сервере, HTML связанный язык скриптов. Что это означает? Вот простой пример, который взят из официального руководства по РНР:
<html>
<head>
<title>Пример РНР скрипта</title>
</head>
<body>
<? echo "Привет, я ваш первый PHP скрипт!"; ?>
</body>
</html>
Заметьте, как этот скрипт отличается от CGI скриптов на языках Perl или C. Вместо того, чтобы прописывать множество строк для вывода HTML, вы просто вставляете кусочки скрипта в соответствующие места в вашем HTML документе для того, чтобы выполнить какое-то действие (в данном случае вывести текст "Привет, я ваш первый PHP скрипт!"). Удобно, правда?
Места вставки кода начинаются и заканчиваются специально определенными тэгами. Вы всегда должны начинать место вставки тэгами. В противном случае РНР будет выдавать ошибку и скрипт не будет выполняться. Это как в песне: "Нажми на кнопку - получишь результат!".
Вы можете спросить, а чем РНР лучше того же Javascript? Какая разница? А разница большая: РНР исполняется на сервере, а Javascript - на машине клиента. К примеру, никто не сможет посмотреть код РНР скрипта, если Вы того не желаете - виден лишь результат его работы в отличие от "легкодоступного" Javascript.
Более того, Вы можете настроить Ваш WWW сервер таким образом, что любая WWW страница будет обрабатываться РНР процессором - и никто не догадается, что страничка с расширением *.html работает как РНР скрипт. Неужели это не замечательно? Кстати, разработчики из компании Zend обещают в ближайшее время выпустить коммерческий компилятор для РНР, Вот тогда Вы сможете разрабатывать свои продукты, компилировать их и отдавать (или продавать) своим клиентам, которые не смогут без Вашего согласия посмотреть код скрипта. Реальная защита от пиратов и разных нечестных людей!
Что может РНР
РНР способен делать все, что делают другие CGI программы. РНР скрипты могут собирать и обрабатывать данные из форм, генерировать динамические странички, принимать и получать файлы "cookies", работать с сессиями и т.п.
Но, пожалуй, самая сильная и наиболее развитая сторона РНР - это работа с базами данных. Написание скрипта, который взаимодействует с базой данных - задача очень несложная, если делать это на PHP. Вот список баз данных, которые поддерживаются РНР в настоящее время:
Adabas
InterBase
Solid
dBase
mSQL
Sybase
Empress
MySQL
Velocis
FilePro
Oracle
Unix dbm
Informix
PostgreSQL
В РНР хорошо развита поддержка различных протоколов, таких как IMAP, SNMP, NNTP, POP3 и даже HTTP. Вы также можете устанавливать прямые соединия к разным сокетам и взаимодействовать с ними. Кроме того, в среде Unix (в меньшей мере, в Windows) реализована возможность работать с системными командами и обрабатывать результаты их выполнения. В общем, РНР - очень легкий в изучении, надежный и "могучий" язык.