За последние 24 часа нас посетили 16489 программистов и 1578 роботов. Сейчас ищут 950 программистов ...

как пришить PHP к HTML ?

Тема в разделе "PHP для новичков", создана пользователем Fati, 10 фев 2012.

  1. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    здравствуйте снова

    Скажите, можно ли файл PHP, в котором только код PHP, пришить к файлу HTML также , как мы пришиваем к HTML файлы CSS или Javascript, прописывая путь к ним в head(е)HTML , но не загружая в сам файл HTML ?
    если PHP-код будет прямо в файле HTML , то ведь HTML станет очень громоздким?
    прошу быть снисходительными к моему вопросу, если он кажется вам глупым, но действительно не знаю ответа.
    Прошу, разъясните мне, пожалуйста, как нужно делать правильно.

    спасибо
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нет. но можно пришить HTML в php
     
  3. задай html файлу расширение php и пропиши в нём
    Код (Text):
    1.  
    2. <?php
    3.  include 'data.php'; //путь к php файлу
    4. ?>
     
  4. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    igordata, ???, понятно, спасибо большое.

    ещё позвольте вопрос:
    я создала в денвере в папке "home/denwer.ru/www" несколько файлов PHP (учебных) .
    А как мне запустить из этой папки файл с именем, отличным от "index", напр. "index_2" ?

    Денвер, как я поняла, сам знает, что ему запускать и запускает только с названием "index", а если я пытаюсь прописать ему путь до "index_2", то денвер сообщает, что файл не найден.
    что мне нужно сделать, чтобы он открыл и второй файл ?

    спасибо
     
  5. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    1. Не именуйте папки с вашими сайтами в денвере по типу "denwer.ru", т.к. вам будет не доступен этот сайт более (который в инете находится). Можно же назвать "denwer.lc" (lc - localhost) или "denwer.dev" (dev - develop)
    2. Создаете файл "/home/denwer.ru/www/index2.php", в браузере вводите соответственно "denwer.ru/index2.php"
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вам будет полезен какой-нить вводный курс... позадавайте вопросов, а мы ответим.
     
  7. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    У меня все папки в денвере заканчиваются на .gov [​IMG]
     
  8. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    А я вообще использую VirtualBox + vboxctrl + Debian, и всякие денвера давно на свалку отправил -)
     
  9. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Neka, спасибо за рекомендации.
    разобралась с вводом пути к другому файлу.
    оказывается, промежуточную папку "www" не надо указывать, иначе денвер выводит ошибку. ..Правда почему не надо, остаётся непонятным.
    igordata! спасибо за подставленное плечо. Особенно в начале пути, когда чувствуешь себя инвалидом, без рук и без ног, слепым, и к тому же полным идиотом.
     
  10. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Для этого надо залезти в конфиг сервера Apache поглубже.
    Например на одной машине с веб-сервером (в случае с денвером - это Apache, а еще существуют Lighttpd, nginx, Microsoft IIS), могут быть несколько сайтов (было бы глупо делать по одному сайту на машину), но IP-адрес у машины может быть только один (2 и более IP у одной машины выходят за рамки этого поста). Для этого существуют виртуальные хосты (vhosts). Рассмотрим упрощенную версию последовательности захода на сайт.
    1. Пользователь вводит в адресной строке браузера сайт denwer.ru
    2. Машина проверяет ейный файл hosts (C:/Windows/System32/drivers/etc/hosts), и в вашем случае находит там такую запись
    понимает, что надо просить этот сайт у себя.
    3. Браузер шлет информацию на адрес 127.0.0.1 (localhost, адрес, по которому машина обращается к самой себе) с таким заголовком (который пользователю естественно не виден):
    3. Тут вызывается на помощь Apache, он смотрит в своих конфигах, а есть ли у него виртуальный хост под именем denwer.ru и тут может быть 2 пути
    3.1. Если такого хоста нет - он высылает хост, который указан как дефолтный (по умолчанию)
    3.2. Если такой хост есть - он смотрит в своих же конфигах DocumentRoot (корневая папка сайта), который привязан к этому хосту, примерно может все выглядеть так:
    а может и так
    То есть можно указать совершенно любую папку, в которой будет находиться корень вашего сайта, который находится по адресу denwer.ru.
    4. Отдает запрошенную страничку в браузер (в случае PHP-странички сначала пропускает через интерпретатор РНР, который выполняет свои команды, а другие ингнорирует)

    Денвер содержит несколько автоматических скриптов (чтобы не писать все это вручную), которые прописывают нужные строчки в файлике hosts, и который создает конфиг Apache на основе содержимого папки /home/. С таким DocumentRoot
    Tips&Tricks
    Создаете папочку /home/vk.com/www/, перезапускаете денвер. Теперь ваша любимая соц. сеть не работает:)
    Домашнее задание: понять почему...)
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вот кто-кто поначалу может подставить реальное плечо - так это хостинг за 10 рублей или какой бесплатный
    вот там точно все из коробки работает и можно учиться. а потом, когда уже понимаешь чего ждать и как должно быть, и какое поведение не являтеся нормальным - тогда уже можно на локалхосте поднять с дебагом, а то и в виртуальной машине, ибо пхп он с линуксом дружит.
     
  12. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Первую связку WAMP я настраивал ровно 1 неделю из отдельно скачанных компонентов. Зато какой был непередаваемый кайф, когда это все завелось. О виртуальных хостах тогда и речи не было.
    Так что я считаю - лучше самому танцевать с бубном, чем юзать что-либо готовое (в подобных случаях, естественно). Профит - нереальный. А бесплатные (или почти) хостинги - это ужас. Нормальные стоят не так дорого.
     
  13. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Neka, браво. Хорошая справка по денверу. Но , тем не менее..
    а правда, как мне открыть файл для другого сайта, который я готовлю в другой папке, например, как ты и сказал "vk.com" ?
    На на адресе 127.0.0.1 может быть прописана только одна корневая папка?
    не могу ответить на поставленный вопрос.
    однако, что же делать? я и не думала, что может возникнуть такая проблема.
    Neka, объясни, пожалуйста.
     
  14. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Нет конечно, в этом вся красота виртуальных хостов, каждому сайту - своя корневая папка
    Это и не проблема вовсе, просто особенность поведения. Как я и говорил раньше - называть vk.lc или vk.dev (можно даже vk.gov), суффикс на ваше усмотрение.
     
  15. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Neka, спасибо огромное за разъяснения.
     
  16. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    здраствуйте.
    Ребята, теперь я не знаю, как мне быть с файлом .html
    В посте выше было сказано, что мне нужно .html переименовать в .php
    Я сделала так и поместила этот файл в папку в денвере , где я находится мои .php, и туда же я поместила теперь и все css для этого файла.
    Но только вот теперь ( *.html) переименованный в ( *.php) открывается в изуродованном виде и с предупреждением об ошибке в блоке head.
    Видно, что ни ( *.html) ни ( *.css) уже не читаются.
    я, вероятно, не то делаю.
    Подскажите, как нужно его теперь открывать?
     
  17. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    какое, простите, предупреждение? можно текст?
     
  18. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Нет необходимости переименовывать файл в .php, если у вас в нем нет блока с командами PHP (начинаются на "<?php" и заканчиваются на "?>").
    Но даже если переименовали, никаких ошибок быть вовсе не должно, РНР интерпретатор пропускает все строки за пределами блоков с его командами.
    Код (PHP):
    1. <html>
    2.     <head>
    3.         <title>Моя HTML страничка</title>
    4.     </head>
    5.     <body>
    6.         <h1>Привет всем!</h1>
    7.     </body>
    8. </html> 
    Можно назвать index.html, index.htm и даже index.php, во всех случаях код будет работать одинаково, только смысла в наименовании .php нет
    Код (PHP):
    1. <html>
    2.     <head>
    3.         <title>Моя HTML страничка</title>
    4.     </head>
    5.     <body>
    6.         <h1>Привет всем!</h1>
    7.         <p>Сегодня <?php date('d.m.Y'); ?> и время <?php date('H:i:s'); ?></p>
    8.     </body>
    9. </html>
    Надо наименовывать этот файл только .php, иначе пхп-шные команды просто не сработают
     
  19. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    чего-то не очень получается.
    по-порядку:
    1. я положила свой сайт (он из 2-х папок) в созданную мной папку на денвере:
    [​IMG]

    2. потом главный файл (.html) в одной из этих папок открыла в редакторе и сохранила в php (поскольку полагаю впоследствии вставлять в него или пришивать к нему файлы php) и оставила этот вновь созданный php в той же папке (рядышком с его же .html):
    [​IMG]
    3.теперь ввожу в броузере путь через денвер к основному файлу , переименованному в php:
    [​IMG]
    4. перезапускаю денвер и получаю:
    [​IMG]
    это фрагмент, но видно, что стало всё написано не на русском языке.
    Настройки css сбились все, хотя видно, что этот файл всё-таки видит css , но плохо )
    что не так делаю?

    спасибо
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    это у вас текст в UTF-8 прет, а сервер возвращает CP-1251. правьте настройки apache/php
     
  21. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    а где их правят?
    Ganzal, я только приступила к освоению денвера и мало понимаю где у него что, подскажи.

    спасибо.
     
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    /usr/local/apache/conf/extra/httpd-languages.conf
    добавить строку
    Код (Text):
    1. AddDefaultCharset UTF-8
    /usr/local/php5/php.ini
    добавить или отредактировать строку
    Код (Text):
    1. default_charset = "utf-8"
    я с денвером лет 5 уже дела не имел, но пути примерно такие должны быть
     
  23. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    Ganzal, спасибо, первый пункт сделала, а файла php.ini в папке php5 нет.
     
  24. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    эм... давайте так. создайте файл p.php и в него вставьте
    Код (PHP):
    1. <?php phpinfo(); ?>
    потом запросите эту страницу через браузер
    в первой секции должны быть (а могут и некоторые и не быть) следующие переменные (имя значение)
    Configuration File (php.ini) Path /etc/php5/apache2
    Loaded Configuration File /etc/php5/apache2/php.ini
    Scan this dir for additional .ini files /etc/php5/apache2/conf.d
    Additional .ini files parsed /etc/php5/apache2/conf.d/curl.ini, ........ /etc/php5/apache2/conf.d/tidy.ini, /etc/php5/apache2/conf.d/xsl.ini

    вроде денвер должен показать нужный нам путь в подчеркнутой переменной
     
  25. Fati

    Fati Активный пользователь

    С нами с:
    9 фев 2012
    Сообщения:
    45
    Симпатии:
    0
    ага, всё сделала.
    но ничего не изменилось.
    русский язык не появился.