[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: include and require
stweet
Час добрый форумчане.

Вот и закинуло меня к вам, т.к. до настоящего момента писал на AS.
Но так вышло, сказать, работа заставила писать на пхп.

Так как только начал познавать сие чудо творения, как и у любого начинающего возникло масса вопросов.

Очень понравилось описания про Попова "Реабилитация после курсов Попова", спасибо, улыбнуло т.к. до настоящего момента только его и смотрел)))

Так вот, склонив голову перед настоящими "Джидаями" пхп, задам вопрос:

ПХП он же ООП, решил так и поступить, создав 3 документа.

index.php

<?
require ("blocks/cap.php");
require ("blocks/bottom.php");


cap.php

<?
echo <<<TOP
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Skyweb.tel</title>
<link href="css/index.css" rel="stylesheet" type="text/css">
<link href="css/Windowstyle.css" rel="stylesheet" type="text/css">
</head>
<body>

TOP;
?>


bottom.php

<?
echo <<<BOTTOM
</body>
</html>

BOTTOM;
?>


в Chrome запустив отладчика вижу злодеяния скрипта:

user posted image

Прошу объяснить в чём моя ошибка.
Заранее благодарен.



Спустя 44 минуты, 1 секунда (12.01.2012 - 03:59) caballero написал(а):
Это Попов так учит - HTML эхом выводить?
перепиши по человечески
и поскольку картинку не видно дай исходный код с браузера

Спустя 21 минута, 43 секунды (12.01.2012 - 04:21) stweet написал(а):
Скрин перезалил.
Цитата (caballero @ 12.01.2012 - 00:59)
перепиши  по  человечески

если бы знал как, сюда бы не писал.


Спустя 3 минуты, 56 секунд (12.01.2012 - 04:25) inpost написал(а):
stweet
echo <<<TOP

Даже Попов такому изврату не учил :)
<!DOCTYPE HTML> - так он тоже не учил. И я тоже не рекомендую использовать HTML5, пока половина браузеров их не понимают.
ООП - один из подходов программирования. Кроме него существуют ещё 2 других. Попов учит функциональному, а мне нравится и использую: процедурное.

Ну а по делу, что-то ты недоговариваешь.
Для начала у тебя пустой документ, значит он должен отображаться белым листом. Но откуда-то взялась картинка, значит есть и другой код, который ты нам не показываешь. А проблема - в ссылке на картинку.

Спустя 2 минуты (12.01.2012 - 04:27) inpost написал(а):
Ты обновил, а мне придется заново писать.
У тебя стоят обычные пробелы в HTML до вывода первого тега <!HTML>, в связи с этим такой бардак. Либо ты поставил знаки, либо UTF сохранен WITH BOM, а надо - БЕЗ! WITHOUT BOM.

Спустя 25 минут, 57 секунд (12.01.2012 - 04:53) stweet написал(а):
Цитата (inpost @ 12.01.2012 - 01:25)
stweet
echo <<<TOP

Даже Попов такому изврату не учил :)
<!DOCTYPE HTML> - так он тоже не учил. И я тоже не рекомендую использовать HTML5, пока половина браузеров их не понимают.
ООП - один из подходов программирования. Кроме него существуют ещё 2 других. Попов учит функциональному, а мне нравится и использую: процедурное.

Ну а по делу, что-то ты недоговариваешь.
Для начала у тебя пустой документ, значит он должен отображаться белым листом. Но откуда-то взялась картинка, значит есть и другой код, который ты нам не показываешь. А проблема - в ссылке на картинку.

Так.

Для начала давай без умников, я ни кому тут нагрубить не успел и того же желаю к себе. Я и пишу на этом форуме в поисках ответов а не мудрых речей!

1. Да, Попов говорит и даже пример приводит как используется тег :
<<<HERE HERE; 

В том же ролике и объясняет что явного определения нет, и называть можно как угодно. То что я выложил это эксперименты а не готовый материал!

2. HTML5 сами гугловцы описывали поддержку данного стандарта и внедрение к середине полугодия. Читай новостные ленты от Адобовцев и Гугловцев. А с учётом моих целей и задач как раз к концу полугодия намечается альфа, так что время для экспериментов ещё есть.

А вот теперь по делу:
Какая картинка? Откуда?
Где ты там видишь запрос на картинку???
Может тебе проще было бы показать пример или явно указать на ошибки?
Если нет соображений, я потерплю до появления более понимающих людей.

Спустя 7 минут, 10 секунд (12.01.2012 - 05:00) inpost написал(а):
Не знаю, кто тебя учил общаться, но жизнь такова, кому что-то надо, тот лижет попку тому, кто выше. Но даже этого делать тебе не пришлось, потому что полный и развернутый ответ по поводу всех твоих ошибок я дал выше.
Но если на советы тех, кто умнее тебя в данном вопросе тебе начхать, то не вижу смысла дальше продолжать общение. к тому же в такой грубой форме с твоей стороны.
Бедненький, обиделся на правду и на исправления...

Потерпел бы, исправили и сделали всё идеально у тебя, а так... пусть другие помогают. mad.gif

Спустя 3 минуты, 51 секунда (12.01.2012 - 05:04) stweet написал(а):
Цитата (inpost @ 12.01.2012 - 02:00)
Не знаю, кто тебя учил общаться, но жизнь такова, кому что-то надо, тот лижет попку тому, кто выше. Но даже этого делать тебе не пришлось, потому что полный и развернутый ответ по поводу всех твоих ошибок я дал выше.
Но если на советы тех, кто умнее тебя в данном вопросе тебе начхать, то не вижу смысла дальше продолжать общение. к тому же в такой грубой форме с твоей стороны.
Бедненький, обиделся на правду и на исправления...

Потерпел бы, исправили и сделали всё идеально у тебя, а так... пусть другие помогают. mad.gif

Я сюда не попы лизать пришёл, а за дельным советом.
Ладно, с тобой сложно.
Подождём.

Спустя 21 минута, 47 секунд (12.01.2012 - 05:26) inpost написал(а):
Я дал:
- 4 совета
- мудрость, что на правду и на советы надо не обижаться, а прислушиваться.
- мудрость, что не надо грубить, и порой лишняя ласка позволит добиться больше, чем даже нейтралитет.
- подчеркнул, что ответ был в одном из советов выше!

И из всего этого ты увидел коротенькую фразу, что некоторым приходится лизать попы? smile.gif И кто тут из нас сложный?

Спустя 12 минут, 46 секунд (12.01.2012 - 05:38) stweet написал(а):
Блин, inpost, на что обижаться?
Я тоже не вижу причин.
Грубить?!
В чём я проявил грубость, в том что привёл факты?
На счёт ласки?!.. э ... это форум программистов или ... ?
Один из советов помог, за что и благодарю!
И тем не менее всё равно не ясно, почему пробелы играют роль, ну с этим разберусь.
Назрел вопрос, если не "echo" то как? Если ещё не отпало желание помочь.

Спустя 6 минут, 55 секунд (12.01.2012 - 05:45) inpost написал(а):
stweet
Закрываешь пхп ?> и дальше код вставляешь HTML
А потом, где надо отработать PHP - снова открываешь. Пример:
<?php if($var == 1) { ?>
<div>
<
p>
TEXT
</p>
<
p>
<?php echo $var; ?>
</p>
</
div>
<?php } ?>

Спустя 3 минуты, 44 секунды (12.01.2012 - 05:49) inpost написал(а):
"На счёт ласки?!.. э ... это форум программистов или ... ?"
Нашел брутальных мужиков... программистов! smile.gif Мы самые нежные создания на планете. Ну после учёных.

А пробелы играют, потому что абсолютно весь вывод, не относящийся к началу документа - автоматически формирует ДОМ-дерево, итого ты ставишь пробел, а тебе уже автоматом добавили: <html><head></head><body> пробел!
Строится документ сверху вниз, поэтому всё, что ты вписал дальше - пошло в <body>, где может и не вывелось на экран, но заголовки точно не отправились. Заголовки в <head> отправляются ДО появления тега <body>

Спустя 7 минут, 4 секунды (12.01.2012 - 05:56) stweet написал(а):
Спасибо, помог.
Не взирая на столь отвратительное знакомство,
может продолжим по инклудам, есть ещё пара вопросов?

Спустя 4 минуты, 55 секунд (12.01.2012 - 06:01) stweet написал(а):
Нашел брутальных мужиков... программистов! Мы самые нежные создания на планете. Ну после учёных.

Я тоже мечтаю о массажистке и на работе и дома wink.gif

Но всё же решусь предложить пересмотреть требования к начинающим wink.gif

Спустя 27 секунд (12.01.2012 - 06:01) inpost написал(а):
stweet
По делу, для инклюдов скобки не нужны и пути лучше давать абсолютные. Для этого подойдет директива __DIR__ , или $_SERVER['DOCUMENT_ROOT'];

Если есть вопросы, спрашивай, чего в себе их таить, не я, так может другие подскажут.

И вообще, насчет <HTML> я сказал правду, а не всякий бред, который ты можешь прочитать на Попово-подобных сайтах.

Спустя 12 минут, 41 секунда (12.01.2012 - 06:14) stweet написал(а):
Ни против Попова ни против Тебя я ни чего не имею, написал то что видел, читал.

Заголовки в <head> отправляются ДО появления тега <body>

Т.е. инклуд срабатывает после загрузки документа?

__DIR__ , или $_SERVER['DOCUMENT_ROOT'];

к сожалению с этим пока не знаком.

Всё чего я сейчас добиваюсь и пытаюсь понять:

javascript может сработать до инициализации документа что и позволяет внедрять стили, скрипты в "head". Сейчас возникла задача отказаться в некоторых местах от javascript-ов. Т.е. пытаюсь внедрить в документ теги до появления "body"(сформировать документа на сервере).
Просто пытаюсь понять как работает пхп.
Или, может такие моменты проще и удобнее добавлять средствами javascript?

Спустя 13 минут, 3 секунды (12.01.2012 - 06:27) inpost написал(а):
Нет, пхп занимается формированием HTML, а сам HTML уже отправляется частями. Сначала заголовки, которые сформировал в <head> и на пхп header(), включая сессию, а уже потом содержание документа, то, что содержится в BODY. Можно сказать, двумя волнами, а когда встретит первым символ вывода, в твоём случае был пробел, он его воспринял как "Заголовки закончились, пора слать содержание страницы".

include срабатывает на первом этапе, на этапе формирования HTML страницы из пхп.
javascript отправляется уже с содержанием страницы, в связи с этим include для формирования структуры сайта куда приоритетнее.
Об структуре и ядре можно почитать тут: irbis-team.com & irbis-school.com , второй свежее и качественнее, но платный, хоть и копеечка.

JS используется в большинстве случаев для: перехода между страницами БЕЗ перезагрузки (Ajax), и красивое блестящее оформление контента (формочки, всплывающие подсказки). Логика приложения должна быть написана на PHP, если мы говорим об стандартном сайте.

Спустя 11 минут, 28 секунд (12.01.2012 - 06:39) stweet написал(а):
ясно, спс, пойду искать примеры как подцепляются css средствами пхп.

Спустя 13 минут, 38 секунд (12.01.2012 - 06:52) inpost написал(а):
stweet
css + js подключаются в <head> на уровне HTML. Не надо для них ничего в PHP писать. smile.gif

Спустя 9 часов, 27 минут, 44 секунды (12.01.2012 - 16:20) SerginhoLD написал(а):
Цитата (inpost @ 12.01.2012 - 01:25)
И я тоже не рекомендую использовать HTML5, пока половина браузеров их не понимают.

это те IE что ниже 9 версии?) ну и "половина" )

Спустя 1 час, 49 минут, 54 секунды (12.01.2012 - 18:10) inpost написал(а):
SerginhoLD
Это открываешь сайт с огромным доходом в месяц, и смотришь статистику по браузерам и получаешь ответ около 45-48% тех браузеров, которые не поддерживают HTML5.
Так вот, для кого я верстаю, для программистов или для заказчика? Я не думаю, что если бы я сказал: "их проблемы" - его бы не успокоили. Это потеря 50% прибыли. Просто ты не зарабатываешь на сайтах, поэтому не думаешь как человек, который тянет с сайтов баблос. Разработчики Вконтакте не дураки же, да и большинство других крупных порталов.
Ты начинаешь думать как прогрессивная молодежь, а не как предприниматель, который предоставляет свой спектр услуг ДЛЯ ВСЕХ.
Тот же бизнес: "Клиент всегда прав". А не все клиенты способны сами переставить даже тот же браузер, хотя на своих карточках имеют халявные тысяча долларов.

А если ты на столько кривой, что не можешь сверстать нормально под ИЕ7,ИЕ8, то грех цена такому верстальщику. Гнать его надо за 3 версты! Майкрософт отказались от поддержки ТОЛЬКО ИЕ6.

Спустя 6 часов, 26 минут, 24 секунды (13.01.2012 - 00:36) stweet написал(а):
Всё равно беда какая то =(
В чём же может быть дело?

index.php

# Уже все пробелы убрал и всё равно беда.
<!DOCTYPE HTML>
<
html>
<
head>
<
meta charset="utf-8">
<
title>Skyweb.tel</title>
<
link href="css/Windowstyle.css" rel="stylesheet" type="text/css">
</
head><body><? include "Testvars.php"; ?></body></html>


Testvars.php

<?php echo'<div class="fullBlackWindow">HELLO WORLD</div>';?>


class fullBlackWindow;

body
{
padding-top:0px;
margin-top:0px;
}

.fullBlackWindow
{
background:rgba(0,0,0,0.5);
border:#cccccc 1px solid;
border-bottom-left-radius:10px;
border-bottom-right-radius:10px;
border-top-left-radius:10px;
border-top-right-radius:10px;
padding:10px;
width:100% - 18px;
color:#FFF;
-webkit-box-shadow:0 3px 3px rgba(0, 0, 0, 0.2);
}


user posted image

ай нид нелп джидаи.


Спустя 2 минуты, 59 секунд (13.01.2012 - 00:39) inpost написал(а):
stweet
UTF without BOM во всех файлах поставь! Кодировка самого файла. То есть отключить БОМ. А если и это не поможет, кинь эти файлы тут

Спустя 7 минут, 1 секунда (13.01.2012 - 00:46) stweet написал(а):
не совсем понял о каком БОМ-е зашла речь.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

если это, то не помогло.

Спустя 1 минута, 36 секунд (13.01.2012 - 00:48) stweet написал(а):
А файлы как выше описал или архивом скинуть?

Спустя 3 минуты, 9 секунд (13.01.2012 - 00:51) YVSIK написал(а):
stweet когда содаещь файл он создается и этимп ерефиксом БОМ
надо в редакторе смотреть и снимать эту галку
или нотепаде есть эта функция создать без боМ
ты в каком редакторе делаешь

user posted image

Спустя 7 минут, 38 секунд (13.01.2012 - 00:59) stweet написал(а):
YVSIK пересоздал полностью всю иерархию документов без галочек, не помогло.

Спустя 17 минут, 55 секунд (13.01.2012 - 01:17) stweet написал(а):
Ну джидаи =)))
Спасибо, разобрался!
Помимо свойств документа ещё и при сохранении файла в директории так же присутствует вопрос о сохранении с БОМ-ом.
Всем огромное спасибо, всё работает.

Спустя 23 секунды (13.01.2012 - 01:17) YVSIK написал(а):
Свернутый текст
пытаюсь вспомнить пока глухо както решалось подобное что-то с с доболением кода РНР и была какаято не состыковка , чтото клинит никак не вспомню


а тут что?
все в перемешку
# Уже все пробелы убрал и всё равно беда.
<!DOCTYPE HTML>
<html>
<head>

Спустя 59 секунд (13.01.2012 - 01:18) YVSIK написал(а):
stweet потому и спрашивал в каком редакторе кодишь!! wink.gif

Спустя 4 минуты, 54 секунды (13.01.2012 - 01:23) stweet написал(а):
Может кто подскажет что за БОМ и с чем его едят?
Или ссылочку?

Спустя 3 минуты, 26 секунд (13.01.2012 - 01:26) YVSIK написал(а):
почему нет всегда да разты нас джедаями обозвал мне понравилось !!
оО!! как оО!
вот те что поможет
Важно: utf-8 и BOM (Страниц 1 2 3 )


Спустя 39 секунд (13.01.2012 - 01:27) inpost написал(а):
stweet
Для прикладных программ говорит о том, что файл в кодировке ЮТФ сохранен. В свою очередь не работает с веб-серверами, так как не это является определяющим фактором кодировки. Поэтому для веба эта подпись не нужна.

Спустя 17 минут, 42 секунды (13.01.2012 - 01:45) stweet написал(а):
всё понял и прочёл, ещё раз спасибо.


_____________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.