Php начинающим
На этой страничке попробуем объяснить логику построения динамического сайта. Php - исполняемый сервером скрипт. Что это означает? На сервере установлен специальный интерпретатор, который понимает те или иные языковые конструкции. Сам php файл, он считывает построчно, как бы бежит по нему сверху вниз. Если находит, например слово exit , то останавливается и дальше ничего не считывает, а исполняет, то что нашел до этого слова, например print "Здорово!" Напечатает Здорово!
print
"Здорово!"; exit ; ?> |
Это самый простейший php файл, но на самом деле, на практике приходиться иметь дело со сложным php файлом. Страничек на сайте много, у нас на данный момент 24 тысячи, нам бы пришлось написать столько же php файлов, или, просто html файлов. Но, php позволяет сделать все это дело в одном исполняемом файле. То есть, надо организовать в самом этом файле ссылки типа, если это - делаем то, если то - делаем это. Php позволяет очень хорошо организовать ссылки. Общая схема такова:
Вы видите в скрипте, что появились отсеки типа
если (то-то){
то делаем это
}
Тогда, что получилось, если первое условие исполнилось, то есть $uslovie
1
== "yes",
то исполняем скрипт в скобках {
}
, которые относятся к данному отсеку скрипта, далее
в этом отсеке стоит
exit
- здесь программа заканчивается. То
есть, с помощью отсеков мы можем разбить php
файл на составные части. А, что же такое
условие - if($uslovie
== "yes")
??? Это и сеть та
самая ссылка, в данном случае, что - то
исполнится, если переменная $uslovie
будет
равна yes
.
Назовем файл all.php . Чтобы организовать в командной строке ссылки на него, просто добавляем all.php?uslovie=yes . Если вы видите знак вопроса в командной строке, то это и есть ссылка в данном случае, $uslovie == "yes" . Тогда создадим html файл, в котором пропишем ссылки на наш исполняемый скрипт.
uslovie1 =yes" >Первая ссылка
uslovie2 =yes" >Вторая ссылка
Вы видите две ссылки. Если вы кликните на ссылках, то исполняться будет файл all.php , и в первом случае скрипту будет передано, что переменная $uslovie 1 ==yes , а во втором случае, $uslovie 2 ==yes . По первой ссылке исполнится первый отсек и программа остановится, по второй ссылке программа пробежит первый отсек и исполнится что - то из второго отсека (смотри выше). Обратите внимание, что в ссылках знак доллара не пишется, программа делает их переменными при передаче скрипту, то есть при передаче в командную строку.
Теперь мы знаем как организовать ссылки на php файл, как разбить его на отсеки и, как организовать ссылки в html тексте на наш файл. Но, есть еще одно но... Дело в том, что если таким способом организовать сайт, то в первоначальном виде, когда ссылок будет не очень много, Вы не увидите проблем. Допустим будет 10 отсеков, все они спокойно улягутся в одном файле. Но если, ссылок очень много, например у нас 24000 страниц, то в принципе невозможно все отсеки уместить в один php файл. Вы сами замучаетесь искать тот или иной отсек в одном файле для, например, его изменения. Кроме этого, файл будет очень большой по размеру, наш all.php, занимал бы 1Мб. Кроме этого надо понимать еще одну вещь, на многих серверах есть ограничение по размеру исполняемых файлов (например 50Кб), если будет превышение, такой файл игнорируется и не исполняется. В связи с этими выкладками мы уменьшили размер основного файла до 8Кб, хотя за собой он несет нагрузку по исполнению на 1Мб. Как же это сделать? Php предоставляем прекрасную возможность по разбивке php файла на куски посредством команды инклюд ....
Теперь становится понятно, как мы уменьшили наш основной файл до 8Кб, потому что все остальные подключаемые файлы имеют суммарный размер 1 Мб, а мы их спрятали в отдельную папку и подключаем по мере надобности, то есть в зависимости от ссылок в командной строке. Команда инклюд, подключает файлы как - будто они и были прописаны в основном скрипте, поэтому, если во вставляемых файлах вы будете обращаться к базам данных, либо к html файлам, то отсчет надо будет вести именно от основного файла, в нашем случае all.php . Например, есть папка html , в ней лежит файл one.htm , как его вывести на печать. Тогда файл one.php выглядит так:
include
"html/one.htm"; exit ; ?> |
Мы распечатали содержимое one.htm , плюс напечатали Это первый отсек программы , и остановили программу. То есть, исходя из теории html, мы должны были бы подключить файл one.htm так: include "../html/one.htm" , так как папка html лежит на один уровень выше файла one.php . Но, в php - это не так, команда инклюд просто добавляет код в скрипт и он становится его неотъемлемой частью, значит отсчет всех ссылок пойдет относительно основного файла, а не подключаемых.
uslovie1 =yes" >Просто Первая ссылка
uslovie1 =yes&act =yes" >
uslovie2 =yes" >Просто Вторая ссылка
uslovie2 =yes&act =yes" >Вторая ссылка, но и еще act=yes
Тогда php файл one.php преобразуем в такой:
if
($act
== "yes"){
include "html/one.htm"; exit ; } print "Это первый отсек программы"; exit ; ?> |
Если нажали на ссылку uslovie1 =yes" >Просто Первая ссылка, напечатается Это первый отсек программы, если нажали на ссылку uslovie1 =yes&act =yes" >Первая ссылка, но и еще act=yes, то распечатается содержимое файла html/one.htm , и программа остановится.
403 Кб
Скачайте архив, сделано так, что Php знать необязательно, надо знать только HTML.
Для меня проще будет сделать копию index.php и переименовать например в contact.php и внем изменить middle на middle2 с новым содержанием.
Чайник я немного в php
У меня есть сайт.
index файл в корне. В другой папке файлы top middle buttom например.
Есть менюшка. Вот хочу, чтобы при нажатии на пункт меню показывался другой middle.
Как такое сделать, и куда впихнуть???
Ответ: Ну как куда. Всё очень просто, это примерно сделать скрипт меню menus.html
Ответ: у вас не сервере отключена поддержка глобальных переменных, если так, то можете в начале всех своих скриптов ставить строку
if (isset ($_GET )) { foreach ($_GET as $key =>$val ) { $$key =$val ; } }
тогда сможете использовать наши скрипты без использования $_GET [ " uslovie" ] , а просто ставить $uslovie
Спасибо за инфу.
Ответ:
Ответ:
Не существенно, но чтоб порядок))
Ответ:
Ответ: Александр, был месяц в отпуске, плюс сейчас завершаю новую версию всего сайта. Как закончу, сделаю небольшую страницу по этому поводу.
Ответ:
Подскажите, пожалуйста, как сделать, чтобы на каждой странице менялся ЗАГОЛОВОК вверху окна: тоесть "
Например, если перейти по ссылке " 1" , то чтобы окно называлось " Первый раздел. Математика" - тоесть чтобы HTML-код был
А если по ссылке " 2" , например, то чтобы окно называлось " Второй раздел. География" - тоесть чтобы HTML-код был
Как сделать, чтобы оно изменялось с помощью РНР?
Ответ: html.html
Потом в папке где у тебя лежит файл all.php создаёшь
файл с именем " .htaccess" и в него вносишь строчку
Страница: 1 | |
Текущая страница: 1 | Всего сообщений: 22 |
П ри создании даже персонального сайта, далеко не каждый может предусмотреть все возможные способы его дальнейшего использования. Очень важно подготовить почву для дальнейшего развития сайта. Если в прошлом вы создали сайт и по умолчанию присвоили всем страницам расширение.html , а только потом решили использовать PHP, то тогда читайте дальше.
Раньше для использования SSI, названия страниц сайта должны были заканчиваться расширением.shtml , но сегодня большинство интернет-серверов сконфигурированы так, что SSI можно использовать и на страницах с расширением.html , что весьма удобно. С PHP совсем другая история — расширение.php является расширением по умолчанию. Разработчики сайтов, заранее зная, что будет использоваться данный язык программирования, стразу присваивают правильное расширение.
Но что делать, когда все страницы заканчиваются расширением.html ?
Заменяем расширение HTML на PHP
Это можно сделать несколькими способами. Самый явный способ — дать всем страницам расширение.php или изменить уже существующие расширения (.html, .shtml и т.д.). У этого способа есть недостатки. Например уже проиндексированным страницам с расширением.html придётся заново индексироваться поисковыми системами. Или ещё хуже — все внешние ссылки, которые ссылаются явным образом на ту или иную страницу, будут недействительны. И придется оповещать владельцев каждого сайта об этих изменениях и создавать для каждой страницы еще одну страницу с 301 ошибкой. Конечно, изменить одно расширение на другое допустимо, но что делать если сайт уже имеет много страниц и много ссылок на разные страницы с других сайтов?
По осознанной причине на данный момент все страницы этого сайта заканчиваются расширением html, и мне никак не хотелось делать вышеприведённые изменения, тем самым создавая себе лишние трудности.
Можно обойтись и другим способом. Если сервер, на котором размещается сайт, поддерживает mod_rewrite (в большинстве случаев поддерживает), и есть доступ к файлу.htaccess , то можно добавить следующие строки в этот самый файл:
RewriteEngine on RewriteRule ^(.*)\.html $1\.php
Добавив этот код в.htaccess , можно не волноваться. Все запрашиваемые несуществующие страницы с расширением.html будут автоматически заменяться расширением.php благодаря чудесам от Apache. Но и этот способ является не единственным. Можно прописать следующее в том же самом.htaccess файле:
AddHandler application/x-httpd-php .php .html .htm
На мой взгляд самый удачный способ. Это делает HTML-страницы равными PHP-страницам, то есть все функции PHP теперь могут быть использованы на страницах с расширением HTML. Если нет доступа к файлу.htaccess , то можно написать письмо хостинг компании, и вежливо попросить админов прописать в конфигурации Apache (httpd.conf) нужное значение для сайта.
Кстати, если до этого на сайте использовалось SSI следующим образом:
то тогда в новом PHP’шном состоянии этот код нужно заменить на:
include("file.txt"); ?>
Ну вот и всё, думаю какой-нибудь из вышеприведённых способов поможет.
PHP — это встраиваемый серверный язык программирования. Большая часть его синтаксиса заимствована из C , Java и Perl . А также добавлена пара уникальных характерных только для PHP функций . Основная цель этого языка — создание динамически генерируемых PHP HTML страниц .
PHP в HTML
При создании сложных веб-страниц вы столкнетесь с необходимостью объединить PHP и HTML для реализации конкретных задач. На первый взгляд это может показаться сложным, так как PHP и HTML являются двумя независимыми дисциплинами, но это не так. PHP предназначен для взаимодействия с HTML , и его код может быть включен в разметку страницы.
В HTML-страницы PHP-код включается с помощью специальных тегов. Когда пользователь открывает страницу, сервер обрабатывает PHP-код , а затем отправляет результат обработки (не сам PHP-код ) в браузер.
HTML и PHP довольно просто объединить. Любая часть PHP-скрипта за пределами тегов игнорируется PHP-компилятором и передается непосредственно в браузер. Если посмотреть на пример, приведенный ниже, то можно увидеть, что полный PHP-скрипт может выглядеть следующим образом:
Привет, сегодня .