PHP. Руководство по PHP. 2005Делаем что-нибудь полезное Руководство по PHPПред. Глава 2. Краткое руководство След. Делаем что-нибудь полезное Давайте сделаем что-нибудь полезное. К примеру, определим, какой браузер использует тот, кто смотрит в данный момент нашу страницу. Для этого мы проверим строку с именем браузера, посылаемую нам в HTTP-запросе. Эта информация хранится в переменной. Переменные в PHP всегда предваряются знаком доллара. Интересующая нас в данный момент переменная называется $_SERVER["HTTP_USER_AGENT"]. Пару слов об автоматической глобализации переменных в PHP: $_SERVER - специальная зарезервированная переменная PHP, которая содержит всю информацию, полученную от Web-сервера. Она является автоглобализованной (или суперглобальной). Для более подробной информации смотрите раздел "Суперглобальные переменные". Эти специальные переменные появились в PHP, начиная с версии 4.1.0. До этого использовались массивы $HTTP_*_VARS, такие, как $HTTP_SERVER_VARS. Эти массивы, несмотря на то, что они уже устарели, до сих пор существуют (см. замечания по старым программам). Для вывода данной переменной мы сделаем так: Пример 2-2. Вывод значения переменной (элемента массива) <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> Пример вывода данной программы: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) В PHP есть огромное количество типов переменных. В предыдущем примере мы печатали элемент массива. Массивы в PHP являются очень мощным средством. $_SERVER - просто переменная, которая предоставлена вам языком PHP. Список таких переменных можно посмотреть в разделе "Зарезервированные переменные". А можно получить их полный список с помощью такой программы: Пример 2-3. Показываем все стандартные переменные с помощью функции phpinfo() <?php phpinfo(); ?> Если открыть данный файл в браузере, вы увидите страничку с информацией о PHP, а также список всех доступных вам переменных. Внутрь тегов PHP можно помещать множество команд и создавать кусочки кода, делающие гораздо большее, чем просто вывод на экран. К примеру, если мы хотим сделать проверку на Internet Explorer, мы можем поступить так: Пример 2-4. Пример использования управляющих структур и функций <?php if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")){ echo "Вы используете Internet Explorer<br>"; } ?> Пример вывода данной программы: You are using Internet Explorer<br /> Здесь мы показали несколько новых элементов. Во-первых, здесь есть команда if. Если вам знаком основной синтаксис языка C, то вы уже заметили что-то схожее. Если же вы не знаете C или подобного по синтаксису языка, то лучший вариант - взять какую-либо книжку по PHP и прочитать ее. Другой вариант - почитать раздел "Описание языка" данного руководства. Список книг по PHP можно найти здесь: http://php.net/books.php. Во-вторых, здесь есть вызов функции strstr(). strstr() - встроенная в PHP функция, которая ищет одну строку в другой. В данном случае мы ищем строку "MSIE" в $_SERVER["HTTP_USER_AGENT"]. Если строка не найдена, эта функция возвращает FALSE, если найдена - TRUE. Если она вернет TRUE, то условие в if окажется истинным, и код в командных скобках ({ }) выполнится. В противном случае данный код не выполняется. Попробуйте создать аналогичные примеры с использованием команд if, else, и других функций, таких, как strtoupper() и strlen(). Также примеры содержатся во многих описаниях функций в данном руководстве. Продемонстрируем, как можно входить в режим кода PHP и выходить из него прямо внутри кода: Пример 2-5. Смешение режимов HTML и PHP <?php if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")){ ?> <h3>strstr вернул true</h3> <center><b>Вы используете Internet Explorer</b></center> <?php } else { ?> <h3>strstr вернул false</h3> <center><b>Вы не используете Internet Explorer</b></center> <?php } ?> Пример вывода данной программы: <h3>strstr вернул true</h3> <center><b>Вы используете Internet Explorer</b></center> Вместо использования команды PHP echo для вывода, мы вышли из режима кода и послали содержимое HTML. Важный момент здесь - то, что логическая структура кода PHP при этом не теряется. Только одна HTML-часть будет послана клиенту в зависимости от результата функции strstr() (другими словами, в зависимости от того, найдена строка "MSIE" или нет). Пред. Начало След. Первая страница на PHP Уровень выше Работа с формами Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.Ваше письмо×⇪