Форумы Homeworld3.RU  

Go Back   Форумы Homeworld3.RU > Наше сообщество > IT-центр
Register Forum Rules FAQ Members List Calendar Today's Posts

Reply
 
Thread Tools
Quote
Old 11-07-2005, 05:39 PM   #1
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Радость Записи сумасшедшего или красный уголок кодера...

а началось всё с тихого поста где-то тут...

Quote:
Сообщение от Дрон01
...
А ты кстати, чем занимаешься щас?
Quote:
Сообщение от St@lkeR{FoX}
я на данный момент сидю за компом и пялюсь в монитор в поисках знакомых букв! вооот)) а если совсем серьёзно то я щас занят написанием некоего подобия учебника для студентов родного универа по асьме... к тому же на той же асьме занимаюсь ярко выраженным геморроем типа обработчик мыши и клавы писякаю... точнее сказать я его уже написякал бякаю теперь эти функшены в дэлелельку знаешь сколько я вот эти две процедуры рожал?
...
Code:
;процедура обработки клавиатуры
keyw proc
wt:     mov     ah,01H
        int     16H
        jnz     gotK
        jz      @F
        jmp     wt

gotK:   mov     ah,00H
        int     16H
        cmp     ah,01h
        je      exit
        cmp     ah,1ch
        je      enter

...

@@:     ret
keyw endp

;процедура обработки мыши
mouse proc
        mov     ax,0001h
        int     33h

        mov     cx,00h
@@:     push    cx
        mov     ax,0005h
        mov     bx,0000h
        int     33h
        cmp     bx,1
        je      mbtn0
        mov     ax,0005h
        mov     bx,0001h
        int     33h
        cmp     bx,1
        je      mbtn1

...

        pop     cx
        inc     cx
        cmp     cx,01h
        je      @F
        jmp     @B

@@:     ret
mouse endp

...

start macro
...
zero: call keyw
call mouse
jmp zero
...
endm
ГЫ)) вобщем неважно)) но факт остаётся фактом а фактически я сейчас с кое-каким народом разрабатываю новое ядро новой ОС... х.з. чё из этого получицЦа лиж бы не линух
Quote:
Сообщение от Ten
Quote:
Originally Posted by St@lkeR{FoX}
к тому же на той же асьме занимаюсь ярко выраженным геморроем типа обработчик мыши и клавы писякаю...
Сталкер, сенкс, развеселил, давно я так не ухохатывался... глядя на знакомые строчки Ток в какую дллку ты хочешь их запихнуть? Эт же под ДОС код, 0x16-тым интом ведает биос, а 33-им вообще загружаемый драйвер мыша (пардон, 33h-ным, а то 33 десятичное это дос-сервисы). 98я (и ей подобные), юзая защищённый режим, совсем им себя не защищает, отчего её запросто на раз-два подвесить, а НТ-подобные системы либо это всё съэмулируют, либо вообще не пустят (и правильно, кстати, сделают, работа с девайсами ислючительно прерогатива ядра).

Quote:
Originally Posted by St@lkeR{FoX}
а фактически я сейчас с кое-каким народом разрабатываю новое ядро новой ОС... х.з. чё из этого получицЦа
Как правило, людей хватает на мечты и лоадер (вспоминаю подобного рода эксперименты двухгодичной давности ) Кстати, а слабо клаву и мыша (ну и всё прочее) напрямую потрогать (через in/out)? Для операционки нет смысла зацикливаться на прерываниях (а то перейдёшь в защищённый режим и все они торжественно придут в непригодность ).

Last edited by Ten : 06-23-2006 at 01:13 PM.
stalker[fox] is offline   Reply With Quote
Old 11-07-2005, 05:41 PM   #2
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Quote:
Originally Posted by Ten
Ток в какую дллку ты хочешь их запихнуть? Эт же под ДОС код, 0x16-тым интом ведает биос, а 33-им вообще загружаемый драйвер мыша (пардон, 33h-ным, а то 33 десятичное это дос-сервисы). 98я (и ей подобные), юзая защищённый режим, совсем им себя не защищает, отчего её запросто на раз-два подвесить, а НТ-подобные системы либо это всё съэмулируют, либо вообще не пустят (и правильно, кстати, сделают, работа с девайсами ислючительно прерогатива ядра).
ГЫГЫГЫ а то я нинаю))) ну вобщем там не один голимый ДОС... извини меня, но! ДОС прерывание есть ни что иное как int 21h... а всё остальное есть напрямую... мона конечно и через порты и через контроллер... но! к тому же, нам это надо для осы а так если подумать, то под виндовоз для верности особенно, как ты верно заметил, под NT и дальше, там уже идёт галимый ВинАПИ так что это я туда ещё добавлю... дело времени к тому же DLL это тока для видимости... яж так для общего развития... там не тока длля под винду буит, но и под др. ос... так что к тому же ты не прав, говоря что под винду от NT и выше я 16 и 33 юзаю... это знаешь ли не прав)) ибо NT'ёвые системки не дают работать чисто с контроллером клавы(имею ввиду конкретно вкл/выкл индикаторы клавы)... вот и всё... мыша же)) и остальное работают на ха!) протестено не однократно.

Итак, товарищи кодеры)) Развиваем тему

Last edited by Ten : 06-23-2006 at 12:53 PM.
stalker[fox] is offline   Reply With Quote
Old 11-07-2005, 06:00 PM   #3
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Ответ: Записи сумасшедшего или красный уголок кодера...

Quote:
Originally Posted by Ten
а слабо клаву и мыша (ну и всё прочее) напрямую потрогать (через in/out)?
легко тока вот пока что нинада было ...

2Администрация:
Тему из вселенной прошу не переносить ибо философия кодера есть осмысливание вселенной и её законов а так же написания их заново...
stalker[fox] is offline   Reply With Quote
Old 11-08-2005, 02:46 AM   #4
Дрон01
Вице-адмиралAntic1tizen One
 
Дрон01's Avatar
 
Faction:
Кушане - киит Наабал

Join Date: Jul 2005
Location: Israel
Posts: 974
Ответ: Записи сумасшедшего или красный уголок кодера...

Хм...строчки кода, непонятные...нет, меня вы не убедите - машинник он и есть машинник! Я вот большей частью на Паскалинах и Сиплюсплюсах люблю проги делать. Скажем, увидел чё-нить хитрое и идиотское, но красивое!!! абалдеть!!! скажем, хоть скринсэйвер! И всё, подьём творчества обеспечен недели на две! Вот сделаю так, чтобы работало, и без глюков, и фсякие там финтифлюшки типа контекстного меню и другой лямбды были - вот тада сидишь и прога греет взгляд, особенно если есть холодное пиво!
Дрон01 is offline   Reply With Quote
Old 11-08-2005, 06:57 AM   #5
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
ха! ну када пиво греет взгляд ... то и прога радует)))

ну, товаришчь Дрон01, эт ты вобщемто прав, но тока от части... кодить надо уметь на фсём и подофсё имхо. си и пас эт канено халасо но... как я уже говорил есть одно НО на букву Г... так что)) вот я кодил кодил на сях, а потом в один прекрасный день меня торкнуло. какжешь так? знаю много чего... и пас и си и явы там всякие с всх... а вот как они работают... и полез я копацЦа в разные разности... раскопал первое чё попалось, это был exe'шник, и увидел там страшное... странно непонятные тогда строчки: .stack .data .code... а потом кучу всякой белеберды. и тут случилось невероятное. Пришли Бентузи и сказали: "Купи книжку по асьме и не имей себе мозги..." так я и поступил, и после первых же страниц до меня дошло что вся эта бня типа си, паскаей и т.п. транслитицЦа в asm. вот тут то я подумал и решил. а зачем я буду чё та делать и писать, мучить свой проц ненужными трансляциями исходников при компиляции... один фиг в асьму перегоняет же)) и решил ударится копчиком... да да да именно им. чтобы проснулось нижнее полушарие мозга. А знаешь ли ты, уважаемый Дрон01, как радуется взгляд когда написанный тобой код того же "Hello world" на асьме начинает работать как надо обычно это случается сразу и быстро... но иногда... вобщем, лично мне асьма дала большее понимание принципов работы языков высокого уровня

ЗЫ: как бы там нибыло, но у низкоуровневых кодеров философия немного другая нежели у обычных...
ДАЁШЬ НЕ БОЛЕЕ 10 СИМВОЛОВ В ОДНОЙ СТРОЧКЕ КОДА!

Сталк, в общем, как ты и просил, весь оффтоп из той темы переместил сюда, где ему саамое место
Также отквотил в удобочитаемый вид и разнёс по разным постам - если всё в одном, неудобно читать - слишком много.
Ну, а теперь и за развитие

PS. Да, и ещё. Я таки перемещаю тему, сорри Всё же, как ни крути, к вселенной ХВ и вселенным, созданными различными писателями-фантастами (см. описание подфорума), она имеет весьма слабое отношение. Зато в разделе "Наше сообщество" ей самое место - этот раздел как раз создан для обсуждения самых различных вопросов, которыми интересуются наши участники.
=T=

Last edited by Ten : 10-30-2006 at 07:05 PM.
stalker[fox] is offline   Reply With Quote
Old 11-09-2005, 03:42 AM   #6
Дрон01
Вице-адмиралAntic1tizen One
 
Дрон01's Avatar
 
Faction:
Кушане - киит Наабал

Join Date: Jul 2005
Location: Israel
Posts: 974
Ответ: Записи сумасшедшего или красный уголок кодера...

жЖошь! Я б тоже занялся асьмой да всё времени нет! (это я так мстю!)
пойду карты делать, там есть где развернуться. Даёшь сто астероидов в трёх строчках кода! Мне (а может и вам) повезло, что я ещё не всё успел забыть по математике, помню уравнения всякий кренделей в координатах, осталось только в карты внедрить!
Дрон01 is offline   Reply With Quote
Old 11-09-2005, 08:47 AM   #7
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Ответ: Записи сумасшедшего или красный уголок кодера...

2 Дрон01, Ten и остальным темболее:
совершенно недавно, в поисках альтернативных компиляторов наткнулся на оч хороший проект. там, как вы сможете увидеть есть пара компиляторов паса и си. Так вот, этот проект полностью халявный и фриварный, что лично меня особенно порадоволо Народ, разрабатывающий проект далеко пойдёт. Да, конечно это не MSVisual и не Borland, пока ещё не отличается выбором создания множества приложений, но в нём есть основные. А что ещё нудно для полного счастья?) особенно когда есть драйвер прямые_руки.sys
stalker[fox] is offline   Reply With Quote
Old 11-11-2005, 10:42 AM   #8
Ten
Главнокомандующийp2ambassador
 
Ten's Avatar
 
Faction:
Стражи Садов Кадеша

Join Date: Feb 2004
Location: Great Nebula
Posts: 2,514
Ответ: Записи сумасшедшего или красный уголок кодера...

Quote:
Originally Posted by St@lkeR{FoX}
и после первых же страниц до меня дошло что вся эта бня типа си, паскаей и т.п. транслитицЦа в asm. вот тут то я подумал и решил. а зачем я буду чё та делать и писать, мучить свой проц ненужными трансляциями исходников при компиляции... один фиг в асьму перегоняет же))
Ну, ассемблер не отменяет языки высокого уровня. Они отлично дополняют друг друга. Но писать всю программу на асме... имхо бессмысленно. Я тоже года три назад "переболел" подобной болячкой Как известно, всё хорошо в меру, и асм здесь не исключение Вот представь себе более/менее серьёзную программу, например на 5-6К строк (пусть это будет pas). Пока ты её всю напишешь на ассемблере, будут просрочены все разумные сроки реализации и заказчик, мягко говоря, будет недоволен. Теперь другой момент. Программа активно работает с некоторым железом (стандартным, самодельным - не важно, как правило, если с одним, то и с другим ). Эти опреации должны выполняться быстро и быть наглядными. Тут-то asm и покажет себя с очень хорошей стороны, так как позволяет добиться необычайной скорости и компактности, а также (ИМХО) наглядности кода: всё видно, как на ладони. Ведь непонятно, какой критично ненужной "отсебятины" может добавить в ответственный момент компилятор языка высокого уровня, если эти процедуры писать на нём. Так что имхо, всё хорошо в меру. Да, я не беру в расчёт "asm for fun", это совершенно другая реальность

Quote:
Originally Posted by Дрон01
И всё, подьём творчества обеспечен недели на две! Вот сделаю так, чтобы работало, и без глюков, и фсякие там финтифлюшки типа контекстного меню и другой лямбды были - вот тада сидишь и прога греет взгляд, особенно если есть холодное пиво!
Ну, радости (и огорчения ) творчества есть везде, где есть само творчество. Программирование (не важно, на каком языке) - лишь частный случай.
Ten is offline   Reply With Quote
Old 11-11-2005, 10:47 AM   #9
Ten
Главнокомандующийp2ambassador
 
Ten's Avatar
 
Faction:
Стражи Садов Кадеша

Join Date: Feb 2004
Location: Great Nebula
Posts: 2,514
Ответ: Записи сумасшедшего или красный уголок кодера...

Quote:
Originally Posted by St@lkeR{FoX}
Quote:
Originally Posted by Ten
а слабо клаву и мыша (ну и всё прочее) напрямую потрогать (через in/out)?
легко тока вот пока что нинада было ...
Ну, в любом случае тяжелее, чем через сервисные прерывания. К тому же, в разы интереснее (нет чувства зависимости от авторов этих сервисов, полная свобода ). Попробуй (если ещё не) - те понравится. Cтопроцентную гарантию даю

Quote:
Originally Posted by St@lkeR{FoX}
ДОС прерывание есть ни что иное как int 21h... а всё остальное есть напрямую... мона конечно и через порты и через контроллер... но! к тому же, нам это надо для осы а так если подумать, то под виндовоз для верности особенно, как ты верно заметил, под NT и дальше, там уже идёт галимый ВинАПИ так что это я туда ещё добавлю... дело времени к тому же DLL это тока для видимости... яж так для общего развития... там не тока длля под винду буит, но и под др. ос... так что к тому же ты не прав, говоря что под винду от NT и выше я 16 и 33 юзаю... это знаешь ли не прав)) ибо NT'ёвые системки не дают работать чисто с контроллером клавы(имею ввиду конкретно вкл/выкл индикаторы клавы)... вот и всё... мыша же)) и остальное работают на ха!) протестено не однократно.
Если честно, в упор не понимаю, зачем "воззвания" к 16h и 33h запихивать в dll. Если работать с клавиатурой/мышью в Win, проще использовать API. Если это нужно в DOS ("чёрной пеленой экран заполнил мой" ), проще писать под чистый ДОС. Если же охота работать с железом, но в Win, ИМХО, лучше "играть по правилам" (я имею ввиду написание драйвера). Хотя, работать с пром. агрегатом в Win (любой)... Чушь, ввиду сложности -> ненадёжности системы. Повиснет она во время движения какого-нить узла, а оператор выйдет "покурить" - и всё, силовой шаговик так и будет работать, пока не сгорит. Или ещё хуже - подаватель кыык схватит кого-нить праздношатающегося за шиворот да кык потащит к силовой части (это может окончиться совсем не смешно ). Я, конечно, утрирую (против подобных казусов предусматривается защита), но стабильность работы Форточек оставляет желать лучшего, а когда к твоим ошибкам добавляются ещё и чужие - увольте. Кроме того, вспомните лицензию - разработчик не несёт ответственности ни за что. Так что ДОС, только чистый ДОС.

Last edited by Ten : 11-11-2005 at 10:52 AM.
Ten is offline   Reply With Quote
Old 11-11-2005, 03:45 PM   #10
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Ответ: Записи сумасшедшего или красный уголок кодера...

ASM FOR FUN Вот именно, дарагой вот именно!)) к тому же я посмотрю как ты на fasm'e или nasm'е будешь чё-нить ляпать темболее под иX-сы имхо импосибля)) так что предпочитаю всему остальному асьму и ещё)) за время написания кучи кода, вырабатывается определённые куски кода, которые потом складываются и юзаются как готовые методом Ctrl+C Ctrl+V например обработка и вывод строки или же массива... это ведь как два пальца об асфальт... вобщем, думаю ты меня понял к тому же некоторые куски инициализации идентичны под различное железо и платформы... меняется всего лишь пара строчек)) вот и думай, так ли плохо писать на одном асме?) к тому же, если будет конкретный заказ, то всё это будет естессна не на асьме)) я там гляну на чём оно лучше писать будет... к тому же приоритет любого процесса можно поднять ручками, с помощью той же асьмы было бы желание
stalker[fox] is offline   Reply With Quote
Old 01-01-2007, 02:01 PM   #11
Ten
Главнокомандующийp2ambassador
 
Ten's Avatar
 
Faction:
Стражи Садов Кадеша

Join Date: Feb 2004
Location: Great Nebula
Posts: 2,514
Re: Записи сумасшедшего или красный уголок кодера...

Quote:
Originally Posted by St@lkeR{FoX}
ASM FOR FUN Вот именно, дарагой вот именно!
Хех, это весёлое занятие. Я, правда, давненько таким не маялся, ща занят fun'ом на PHP, но это скорее насущная необходимость

Quote:
Originally Posted by St@lkeR{FoX}
к тому же я посмотрю как ты на fasm'e или nasm'е будешь чё-нить ляпать темболее под иX-сы имхо импосибля
Ну почему же? Асм - ещё один язык программирования, иксы, условно говоря - набор сервисов со строго унифицированным интерфейсом. Задача сводится к тому, чтобы написать на асме куски кода, которые используют возможности иксов. Накой это всё надо - совершенно иной вопрос, к сути дискуссии никакого отношения не имеющий Как и вопрос трудоемкости.

Quote:
Originally Posted by St@lkeR{FoX}
так что предпочитаю всему остальному асьму и ещё)) за время написания кучи кода, вырабатывается определённые куски кода, которые потом складываются и юзаются как готовые методом Ctrl+C Ctrl+V
Ой, какая гадость Я тоже так раньше делал, покудова количество операций Ctrl+C / Ctrl+V не превысило несколько десятков... Потом в голове начинается каша. ИМХО, намного изящнее написать автономный блок, тщательно отладить его и потом инклюдить в основной текст программы. Чем меньше придётся менять отлаженный код, тем лучше - уменьшается шанс подхватить ошибку. Этот принцип свят, ибо природа этих ошибок очень коварна - ты ведь никогда не подумаешь худого на старый, проверенный, но "слегка" изменённый код. И будешь изо всех сил лопатить последние наработки, как наименее надёжные из всех (и лишь для того, чтобы через два часа понять, что ошибка где-то "не тут" ).

Quote:
Originally Posted by St@lkeR{FoX}
к тому же некоторые куски инициализации идентичны под различное железо и платформы... меняется всего лишь пара строчек
Вообще, при написании серьёзных приложений аппаратно-зависимый код, как правило, отделяется от аппаратно-незвависимого. Плюсы очевидны - переносимость кода при минимальных изменениях. В мире OpenSource-программ это очень распространённая практика: возьмите тот же Апач, или, что гораздо ближе к теме форума, движок первого ХВ Его исходники (большей частью писанные на си без плюсов) весят порядка 10 Мб. Patch-файл, который позволяет перелопатить сырцы хомки так, чтобы она компилировалась/запускалась под xNIX-системами - всего полтора метра. Причём это не сами сырцы, это файл разниц, в котором не только содержится информация "что куда вшить", но и "что откуда выкусить". То есть, истинные объёмы изменений ещё меньше. Вообще, написание переносимых программ - это своего рода искусство, и программисты, которые этим искусством овладели, очень высоко ценятся (во всяком случае, за бугром ).

Quote:
Originally Posted by St@lkeR{FoX}
вот и думай, так ли плохо писать на одном асме?
Плохо. В подавляющем большинстве случаев нецелесообразно. Разве что забавы ради

Quote:
Originally Posted by St@lkeR{FoX}
к тому же, если будет конкретный заказ, то всё это будет естессна не на асьме)) я там гляну на чём оно лучше писать будет...
Уже лучше

Quote:
Originally Posted by St@lkeR{FoX}
к тому же приоритет любого процесса можно поднять ручками, с помощью той же асьмы было бы желание
Ну, программирование – это не жонглирование приоритетами да пописывание в порты ввода/вывода. Заказчику глубоко фиолетово, если ты можешь мигать индикаторами клавиатуры словно жутко урезанная елочная гирлянда, писать на винт в обход биоса или заставить дисковод сыграть чижик-пыжик. Его интересует выполненная работа. Хотя, подобные фокусы иногда могут призвести некоторое впечатление, но практического толку в них ноль.

ЗЫ: Давненько я не писал в этой теме... тут ещё у кого-нить есть желание продолжить столь интересное обсуждение?
Ten is offline   Reply With Quote
Old 01-04-2007, 10:02 PM   #12
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Re: Записи сумасшедшего или красный уголок кодера...

Ну вот я дома) Родной форум, родная жизнь. Как-будто вернулся на Кхарак =) Чтоже, продолжим наш забавный уголок кодера. Должен сказать что много воды утекло с тех времён как рухнул форум. Жизнь кидала то в одну сторону то в другую. Было не легко, но пришлось выжить) Вобщих чертах, уже полгода я не принимаю участие в каких либо разработках или же проектах команды. Занимаюсь исключительно вебом. Жизнь заставила) Да и как то по душе мне это. Вобщем слова php, java, html, mysql, apache и bred3 стали родными и вписались в ДНК =)

Ладно, хватит трепаться по чём зря, пора бы уже и честь знать. А начну я своё краткое повествование сегодня именно с web'а, а конкретрней разберём простенький "движок" сайта... с примерами конечно =) Будем писать мы его на php используя естесственно html и JS. Сегодня мы разберём пример простенького информационного сайта с выпадающем меню. Причём будет две версии сайта. Одна - с выпадающем меню вниз. Соответственно меню будет у нас распологаться сверху полоской, под логотипом и названием сайта. И второй вариант это - выпадающее меню вправо. Собственно это рабочие варианты и их можно смело использовать в разработках более серьёзных проектов =)

Теперь от слов к делу. Для начала нам потребуется установить пакет Denver. Его вы можете скачать с моей странички http://webtestphp.h17.ru/ (так же на моей странице вы сможете найти различную информацию как по web'у так и по другим языкам программирования :о).
Устанавливаем его, там собственно нет ничего сложного, просто лично я в конце установки выбираю второй вариант (это когда виртуальный диск не создаётся при загрузке системы, а грузится патом уже в процессе работы. делается это автоматически как только мы запускаем комплекс). Так, причина номер раз по которой я выбрал Denver. Во первых этот комплекс соответствует структуре большинства интернет-серверов. В него встоено уже всё что нужно, а именно apache+php+mysql. Соответственно не нужно склеивать все три утилиты в одну долгими мутарствами (если вы новичёк в этом деле) чтобы начать работать. Причина номер два: перенос сайта на любой linux'овый сервер происходит с минимальными усилиями, что просто незаминимо. Единственная нехорошая ситуация с денвером да и вообще с сервером apache может возникнуть у людей имеющих Windows 2003 Server, ибо в него уже интегрирован IIS (виндовый сервак) который конфликтует с апачем. Я бы им посоветовал пересадить апач на другой порт или же совсем снести IIS =)

После того как вы установили Denver (Если по дефалту, то рабочая директория со всеми причендалами у вас именно C:\WebServers\) Вобщем всё что нам необходимо для работы у нас есть. Скажу сразу что место где мы будем создавать сайт - это папка HOME. в ней нужно создать каталог с именем url которое вы будете потом набирать в строке браузера. Ну к примеру если у вас сайт имеет имя z-test, то соответственно в папке HOME нужно создать каталог "z-test". В нём нужно создать ещё один каталог с именем "www". И только уже в каталоге WWW мы и будем работать. Т.е. путь к главной странице сайта будет таким: C:\WebServers\home\z-test\www\index.php. Да да да. именно index.php а не .html или там .asp. Тепереча перейдём непосредственно к созданию сайта. Открываем файл с именем index.php и пишем следующее (должен сказать что php очень похож на c++):

//главная страница сайта
Code:
<?
//***********************************************************************************************//
  $show = 2;  //переменная на отработку главной страницы
//***********************************************************************************************//

//***********************************************************************************************//
//                       подготовка форм кнопок меню и самого меню                               //
//***********************************************************************************************//
  $space = "<td width=\"16\"></td>";

  //кнопка ГЛАВНАЯ СТРАНИЦА
  $main = '<td width="126" height="40">
	<form action="index.php">
	<input type="submit" name="main" value="Главная страница" style="border: 0; background: url(menu.jpg); background-color: #114477; color: #ffffff; font-family: system; font-size: 10pt; width: 130; height: 40; cursor: pointer;">
	</form>
	</td>';

  $tspace = '				</td>
				</table>
			</div>
		</div>
	</td>';

  //кнопки меню Информация
  $form_info = "
	<form action=\"index.php\" class=\"form_m\">
		<input type=\"submit\" name=\"info\" value=\"Информация\" style=\"border: 0; background-color: #114477; color: #ffffff; font-family: system; font-size: 10pt; width: 120; height: 20; cursor: pointer;\" onMouseOut=\"Fade(this, '6699cc', '114477');\" onMouseOver=\"Fade(this, '114477', '6699cc')\"><br>
		<input type=\"submit\" name=\"shem\" value=\"Схема проезда\" style=\"border: 0; background-color: #114477; color: #ffffff; font-family: system; font-size: 10pt; width: 120; height: 20; cursor: pointer;\" onMouseOut=\"Fade(this, '6699cc', '114477');\" onMouseOver=\"Fade(this, '114477', '6699cc')\">
	</form>";

  $form_00 = '	<td>
		<div style="position: absolute;">
			<div onMouseOut="hide_menu(1);" onMouseOver="show_menu(1);" style="position: absolute; width: 56; height: 40; visibility: hidden; left: 0; top: 20;" id="m1">
				<table class="menu" width="120" cellpadding="0" cellspacing="0" border=0>
					<tr><td>';

  $form_01 = '
	<td width="86" height="40" onMouseOut="hide_menu(1);" onMouseOver="show_menu(1);" style="cursor: pointer;">
			<font class="menu">Информация
	</td>';

  //кнопки меню О Проекте
  $form_proj = "
	<form action=\"index.php\" class=\"form_m\">
		<input type=\"submit\" name=\"price\" value=\"Сроки обучения и стоимость\" style=\"border: 0; background-color: #114477; color: #ffffff; font-family: system; font-size: 10pt; width: 250; height: 20; cursor: pointer;\" onMouseOut=\"Fade(this, '6699cc', '114477');\" onMouseOver=\"Fade(this, '114477', '6699cc')\"><br>
		<input type=\"submit\" name=\"otdel\" value=\" Отделения \" style=\"border: 0; background-color: #114477; color: #ffffff; font-family: system; font-size: 10pt; text-align: right; width: 250; height: 20; cursor: pointer;\" onMouseOut=\"Fade(this, '6699cc', '114477');\" onMouseOver=\"Fade(this, '114477', '6699cc')\"><br>
		<input type=\"submit\" name=\"pract\" value=\"Производственная практика\" style=\"border: 0; background-color: #114477; color: #ffffff; font-family: system; font-size: 10pt; text-align: right; width: 250; height: 20; cursor: pointer;\" onMouseOut=\"Fade(this, '6699cc', '114477');\" onMouseOver=\"Fade(this, '114477', '6699cc')\"><br>
		<input type=\"submit\" name=\"work\" value=\"Учебно-исследовательская работа\" style=\"border: 0; background-color: #114477; color: #ffffff; font-family: system; font-size: 10pt; width: 250; height: 20; cursor: pointer;\" onMouseOut=\"Fade(this, '6699cc', '114477');\" onMouseOver=\"Fade(this, '114477', '6699cc')\">
	</form>";

  $form_10 = '	<td>
		<div style="position: absolute;">
			<div onMouseOut="hide_menu(2);" onMouseOver="show_menu(2);" style="position: absolute; width: 56; height: 40; visibility: hidden; left: 0; top: 20;" id="m2">
				<table class="menu" width="240" cellpadding="0" cellspacing="0" border=0>
					<tr><td>';

  $form_11 = '
	<td width="150" height="40" onMouseOut="hide_menu(2);" onMouseOver="show_menu(2);" style="cursor: pointer;">
			<font class="menu">О Проекте
	</td>';

//***********************************************************************************************//
//                               вывод заголовка и скриптов                                      //
//***********************************************************************************************//

  echo "<html>
<head>
	<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1251\">
	<title>z-test</title>
	<link rel=\"SHORTCUT ICON\" href=\"icon.ico\"/>

<script type=\"text/javascript\">
	function show_menu(Code){
		document.getElementById(\"m\"+Code).style.visibility=\"visible\";
	}
	function hide_menu(Code){
		document.getElementById(\"m\"+Code).style.visibility=\"hidden\";
	}
	function openurl(s_url){
		window.open(s_url, target=\"mainfr\");
	}

	var s, c1, c2, r1, g1, b1, r2, g2, b2;
	var fTimeout, fObj, fSteps = 25, fDelay = 5;

	function Fade(obj, color1, color2){
	  if (fTimeout) {
	  clearTimeout(fTimeout);
	  if (fObj) fObj.style.backgroundColor = c2;
	  }
	fObj = obj; c1 = color1; c2 = color2;
	r1 = eval('0x' + c1.substring(0,2));
	g1 = eval('0x' + c1.substring(2,4));
	b1 = eval('0x' + c1.substring(4,6));
	r2 = eval('0x' + c2.substring(0,2));
	g2 = eval('0x' + c2.substring(2,4));
	b2 = eval('0x' + c2.substring(4,6));
	s = 0;
	DoFade();
	}

	function DoFade(){
	  var d = s/fSteps, m = 1 - d;
	  fObj.style.backgroundColor = \"#\" + Dec2Hex(r1 * m + r2 * d) + Dec2Hex(g1 * m + g2 * d) + Dec2Hex(b1 * m + b2 * d);
	  if (s < fSteps) fTimeout = setTimeout('DoFade()', fDelay);
	  s++;
	}

	function Dec2Hex(Dec){
	  var hexChars = new Array(\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\");
	  var a = parseInt(Dec) % 16, b = (parseInt(Dec) - a)/16;
	  var hex = \"\" + hexChars[b] + hexChars[a];
	  return hex;
	}
</script>
</head>
<body vlink=\"#000000\" alink=\"#000000\" link=\"#000000\">
<LINK REL=STYLESHEET TYPE=\"text/css\" HREF=\"style.css\">

<!--MAIN TABLE-->

	<table cellpadding=\"0\" cellspacing=\"0\" height=\"100%\" width=\"100%\"> <!--height=\"1024\"-->
		<tr height=\"200\" valign=\"top\">
			<td>
<!--таблица с логотипом-->
				<table class=\"top_menu\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"table-layout:fixed;\">
					<tr>
					<td width=\"374\" height=\"200\" align=\"left\" background=\"cr.jpg\" style=\"background-position: center; background-repeat: no-repeat;\"></td>
					<td width=\"100%\"></td>
					<td width=\"395\" height=\"200\" align=\"right\" background=\"top00.jpg\"></td>
				</table>
			</td>
		</tr>
		<tr height=\"40\" valign=\"top\">
			<td align=\"center\" valign=\"middle\">
				<table class=\"menu\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\" height=\"40\" width=\"100%\">
					<tr>
						<td>
							<table cellpadding=\"0\" cellspacing=\"0\" align=\"left\" height=\"40\" width=\"1000\" style=\"table-layout: fixed;\">
								<tr>";

//***********************************************************************************************//
//                                             вывод меню                                        //
//***********************************************************************************************//
  print "$space"; print "$main";
  print "$space"; print "$form_00"; print "$form_info"; print "$tspace"; print "$form_01";
  print "$space"; print "$form_10"; print "$form_proj"; print "$tspace"; print "$form_11";
  print "$space"; print "<td width=\"100%\"></td>";

  echo "							</tr>
							</table>
						</td>
					</tr>
				</table>
			</td>
		</tr>";

//***********************************************************************************************//
//                               обработка кнопок меню и кнопок страниц                          //
//***********************************************************************************************//
//КОЛЛЕДЖ
  if (@$info)    {$show = 1; include("00_main/info.php");} else {$show = 0;}
  if (@$shem)    {$show = 1; include("00_main/shem.php");}
//ОБУЧЕНИЕ В КОЛЛЕДЖЕ
  if (@$price)   {$show = 1; include("01_ln/price.php");}
  if (@$otdel)   {$show = 1; include("01_ln/otdel.php");}
  if (@$pract)   {$show = 1; include("01_ln/pract.php");}

//КНОПКИ НА ДРУГИХ СТРАНИЦАХ
//Информация
  if (@$license) {$show = 1; include("00_main/license.php");}
  if (@$accred)  {$show = 1; include("00_main/accred.php");}

//ГЛАВНАЯ
  if ($show==0)  {include("main.php"); $show = 1;}
?>
я постарался прокоментировать максимальное количество всего этого безобразия, но думаю стоит начать по порядку...
Краткий экскурс в php. В php переменные объявляются со знаком $<имя_переменной>. Вывод содержимого, насколько мне помниться производится функцией либо print "$<имя_переменной>" либо echo "$<имя_переменной>" либо одно из двух =) Теперь смотрим на кусок кода. В самом начале я объявил переменную логическую $show. Она сразу равна 2, это просто чисто мера предосторожности чтобы даже ни в друг чего =) Далее мы подготавливаем пункты меню. Да, кто-то может сказать что их можно сразу было бы вывести перед обработкой кнопок. Не знаю, как вам, а мне если что, править удобнее одну переменную нежели выискивать нужный кусочек в общей мешанине...

Теперь разберём меню. Оно представляет сабой таблицу, каждый пункт меню есть кнопка. У кнопки стоит тип "submit", т.е. Кнопка с запросом. Хочу заметить, то что каждую кнопку или группу кнопок необхадимо засунуть в тег "<form>" для того чтобы php понял где висит обработчик кнопок необходимо в action указать файл содержащий обработчик. В данном случае все кнопки меню естесственно обрабатываются главной страницей.

Что-то как-то я не по русски излагаю. Совсем забыл... Структура сайта представляет собой таблицу. Начало которой висит в INDEX.PHP, а завершение в остальных файлах сайта =) Многие пробегаясь по куску кода спросят: А где обработчик кнопки "Главная страница"? На что у меня есть ответ: А ЗАЧЕМ? Посмотрите внимательней... Нажимая каждый раз на кнопку, форма реагирует на нажатие и отправляет нас в поисках обработчика кнопки на соответствующую страницу... Нажав на "Главную страницу", скрипт увидит сначала переменную $show, которая равна изначально 2, далее он выведет меню и будет искать чтоже делать с кнопкой. Пробежав по всем IF'ам и ненайдя нужной переменной отвечающей за главную страницу скрипт наткнётся на последний IF где дословно написано что если нету такой кнопки->вывести главную страницу.

Теперь наверняка у новичков возникнет вопрос: Зачем в условиях обработки кнопок перед переменными написана @ (собака)? Поясню, что если этого не сделать, php по дефалту будет выдавать "Warning'и" потому что переменные объявлены в html но лежат в других переменных php... вот такие заморочки, но так было всегда :о)

Теперь для совсем полного счастья нам не достаёт написать ещё пару файликов. Это собственно главная страница, и пару файлов для того чтобы показать как отрабатывать кнопки в других директориях сайта :о)

Итак, создаём файл main.php, в который помещаем дословно следующее:

Code:
<?
echo "		<tr>
			<td height=\"100%\" width=\"100%\">

<table border=\"0\" width=\"100%\" height=\"100%\">
<tr height=\"8\"><td colspan=\"3\"></td>
<tr><td width=\"10\">&nbsp;</td><td width=\"100%\" valign=\"top\">
<font><div align=\"justify\">

&nbsp;&nbsp;&nbsp;<u class=\"dark_blue\">z-test</u> - The debate over our past on this world reaches back through the entire documented history of civilization, a period covering over 1300 years. The harsh conditions across this world, Kharak, [A1] fueled the myths of other places and times where we did not have to spend so much of our strength on simple survival. While the issue of our distant past was primarily a religious matter [A2], it wasn’t until the dawning of the Time of Reason [A3] that advances in the biological and chemical sciences revealed a disturbing lack of commonality between our biochemical makeup and that of most Kharakid life. Ironically, it was the birth of the Daiamid Movement, with its many scientific breakthroughs, that created a philosophical environment where the oldest myths and the newest theories could be wedded into what we now have accepted as the XenoGenesis Theory. Except for a small variety of bacteria and a single species of small forager, our helix proteins are completely different from all other forms of life on Kharak. We are left with no other choice but to seriously consider the theory that we are aliens to this world. Of course, this answer only led to more questions.

</div></td><td width=\"10\">&nbsp;</td>
<tr height=\"8\"><td colspan=\"3\"></td>
</table>

			</td>
		</tr>
	</table>
</body>
</html>";
?>
в принципе, по идее оно же пофигу чё писать на главной, вот и я взял кусок прям из мануала по первому Хомке. Так что не обессудьте. Здесь, как видите, идёт наше продолжение таблицы... и как итог закрываем полностью весь документ. Да, у когото возникнет вопрос, зачем я понаставил столько обратных слешей. Ответ прост. Дело в том что php одинаковые кавычки воспринимает неадекватно и ругается на них, так что если хотите вывести "", то пишите либо " \"\" " либо ' "" '. вот. Кстати Bred3 это всё понимает и подсвечивает. Советаю скачать. Ну а чтобы не рыться по рунету в поисках оного также можете у меня на "сайте" его скачать)

Тепереча создаём папку с именем 00_main к примеру. И в ней создаём пару файлов с именами info.php, shem.php, accred.php, license.php. Приведу их код в том порядке как они записаны а разъясню только первый.

//файл info.php
Code:
<?
  if (@$license || @$accred) {include("../index.php");} else {

  $lic = '<form action="index.php">
	<input type="submit" name="license" value="Лицензия" style="border: 0; background: url(00_main/license_s.jpg); background-color: #cccccc; color: #336699; font-family: system; font-size: 10pt; width: 178; height: 256; cursor: pointer;">
	</form>';
  $acr = '<form action="index.php">
	<input type="submit" name="accred" value="Аккредитация" style="border: 0; background: url(00_main/accred_s.jpg); background-color: #cccccc; color: #336699; font-family: system; font-size: 10pt; width: 178; height: 256; cursor: pointer;">
	</form>';

  echo "		<tr>
			<td height=\"100%\" width=\"100%\">

<table border=\"0\" width=\"100%\" height=\"100%\">
<tr height=\"8\"><td colspan=\"3\"></td>
<tr><td width=\"10\">&nbsp;</td><td width=\"100%\" valign=\"top\">
<font><div align=\"justify\">

&nbsp;&nbsp;&nbsp;<u>Информация</u><p>";

  echo "<table><tr><td width=\"100%\" height=\"100%\" valign=\"top\">";
  echo "
<font>бла бла бла и всё такое
<p>пишем тут всякий разный текст... думаю понятно =)
  ";
  echo "</td><td valign=\"top\">"; print "$lic";  print "$acr"; echo"</td></table>";

  echo "

</div></td><td width=\"10\">&nbsp;</td>
<tr height=\"8\"><td colspan=\"3\"></td>
</table>

			</td>
		</tr>
	</table>
</body>
</html>";}
?>
здесь значит что мы видим... тут как раз две кнопки, на которых были картинки... по нажатию на которые соответственно должны выводится эти самые картинки в увеличенном виде. Собственно разъясняю как это работает:
1. если была нажата какая либо из двух кнопок, то мы подключаем файл и корневой директории с именем index.php иначе подготавливаем кнопки-картинки и выводим информацию с кнопками-картинками.
2. php, как только мы ткнулись на одну из двух картинок-кнопок смотрит где лежит обработчик, а лежит он в index.php. я его незря положил именно туда, т.к. в итоге мы получим цельную красивую страницу с логотипом, менюшкой и картинкой в большом формате. думаю тут всё понятно =)

да... поскольку я использовал файл со стилями, в котором по умолчанию поставил отступы для страницы по нолям, поэтому внутри таблицы, там где мы выводим текст файлов, я использую ещё одну таблицу ячейки которой "работают" за эти самые отступы...

вот. следуем далее:

//файл shem.php
Code:
<?
echo "		<tr>
			<td height=\"100%\" width=\"100%\">

<table border=\"0\" width=\"100%\" height=\"100%\">
<tr height=\"8\"><td colspan=\"3\"></td>
<tr><td width=\"10\">&nbsp;</td><td width=\"100%\" valign=\"top\">
<font><div align=\"justify\">

&nbsp;&nbsp;&nbsp;<u>Схема проезда</u><p>

<center><img src=\"00_main/tmc_map.jpg\" width=\"724\" height=\"732\"></img></center>

</div></td><td width=\"10\">&nbsp;</td>
<tr height=\"8\"><td colspan=\"3\"></td>
</table>

			</td>
		</tr>
	</table>
</body>
</html>";
?>
//файл accred.php
Code:
<?
echo "		<tr>
			<td height=\"100%\" width=\"100%\">

<table border=\"0\" width=\"100%\" height=\"100%\">
<tr height=\"8\"><td colspan=\"3\"></td>
<tr><td width=\"10\">&nbsp;</td><td width=\"100%\" valign=\"top\">
<font><div align=\"justify\">

<center><img src=\"00_main/accred_f.jpg\"></img>

</div></td><td width=\"10\">&nbsp;</td>
<tr height=\"8\"><td colspan=\"3\"></td>
</table>

			</td>
		</tr>
	</table>
</body>
</html>";
?>
//файл license.php
Code:
<?
echo "		<tr>
			<td height=\"100%\" width=\"100%\">

<table border=\"0\" width=\"100%\" height=\"100%\">
<tr height=\"8\"><td colspan=\"3\"></td>
<tr><td width=\"10\">&nbsp;</td><td width=\"100%\" valign=\"top\">
<font><div align=\"justify\">

<center><img src=\"00_main/license_f.jpg\"></img>

</div></td><td width=\"10\">&nbsp;</td>
<tr height=\"8\"><td colspan=\"3\"></td>
</table>

			</td>
		</tr>
	</table>
</body>
</html>";
?>
теперь текст файла с таблицей стилей, который необходимо разместить рядом с index.php

//файл style.css
Code:
body{
scrollbar-face-color:       #114477;
scrollbar-highlight-color:  #336699;
scrollbar-3dlight-color:    #225588;
scrollbar-darkshadow-color: #000000;
scrollbar-shadow-color:     #000000;
scrollbar-arrow-color:      #5588bb;
scrollbar-track-color:      #336699;

background-image:           url();
background-repeat:          no-repeat;
background-attachment:      fixed;
text:                       #000000;
text-align:                 justify;
background-color:           #ffffff;
margin:                     0;
padding:                    0;
}

font{
font-family: verdana, cursor, utopia;
font-size:   10pt;
color:       #000000;
}

font.menu{
font-family: system, cursor, utopia;
font-size:   10pt;
color:       #ffffff;
}

font.menu2{
font-family: system, cursor, utopia;
font-size:   12pt;
color:       #ffffff;
}

b{
font-family: system, arial, cursor, utopia;
font-size:   10pt;
color:       #000000;
}

i{
font-family: arial, cursor, utopia;
font-size:   12pt;
color:       #000000;
}

u.dark_blue{
font-family: verdana, cursor, utopia;
font-size:   10pt;
color:       #114477;
}

font.h2{
font-family: arial;
font-size:   12pt;
color:       #000000;
}

table{
border-style:    hidden;
border-collapse: collapse;
empty-cells:     hide;
}

table.top_menu{
border-style:      hidden;
border-collapse:   collapse;
background-image:  url();
background-repeat: repeat-x;
empty-cells:hide;
}

table.menu{
border-collapse:   collapse;
background-image:  url(menu.jpg);
background-repeat: repeat-x;
background-color:  #114477;
empty-cells:       hide;
}

table.bt{
border-collapse:     collapse;
background-image:    url(menu.jpg);
background-repeat:   repeat-x;
background-position: top;
background-color:    #114477;
empty-cells:         hide;
}

pre{
font-family: arial;
font-size:   10pt;
color:       #f4f4f4;
}

form.form_m{
font-family:      system, verdana, arial cyr;
border:           solid 1 #000000;
background-color: #000000;
padding:          0;
margin:           0;
font-size:        8pt;
}

form.form_link{
font-family:      verdana, arial cyr;
border:           solid 0 #ffffff;
background-color: #ffffff;
padding:          2;
margin:           0;
font-size:        10pt;
}
собственно на этом первый вариант "движка" простейшего информационного сайта можно считать рассмотренным. Ах да, меню... что могу сказать... меню реагирует на выпадение по id'шнику... т.е. для каждого пункта меню свой id. для пункта информация это 1, для пункта О проекте это 2... и т.д. Подробно описывать работу меню просто уже лень) так что сори) если хотите сами покопайтесь в скрипте =)

рабочую версию прилагаю вложением тут же. а завтра отпишусь по "движку" с выпадающим меню вправо.

Last edited by stalker[fox] : 03-22-2009 at 01:22 AM.
stalker[fox] is offline   Reply With Quote
Old 01-05-2007, 12:32 PM   #13
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Re: Записи сумасшедшего или красный уголок кодера...

на затравку, приведу маленький сэмпл на скрещивание явы и php. у многих новичков с этим возникают проблемы =) думаю это будет полезно...

Code:
<script language="JavaScript">
  function func(s){
    if (s.selectedIndex==0) {s_form.inf.disabled=true;  s_form.dst.disabled=true;}
    if (s.selectedIndex==1) {s_form.inf.disabled=true;  s_form.dst.disabled=false;}
    if (s.selectedIndex==2) {s_form.inf.disabled=false; s_form.dst.disabled=true;}
  }
</script>
<?
$form = '
<form name = "s_form" action="index.php">
<select name = "i_d" onChange="func(i_d)">
  <option value=""></option>
  <option value="dist">distribution</option>
  <option value="info">information</option>
</select>

<select name = "dst">
  <option value="a">a</option>
  <option value="b">b</option>
</select>
<select name = "inf">
  <option value="c">c</option>
  <option value="d">d</option>
</select>
<br><input type = "submit" name = "bt" value = "next >>">
</form>
';
  echo '<body onLoad = "func(s_form.i_d)">';
  print "$form";

  if (@$bt) {
    if (@$dst)
      print "$dst";
    if (@$inf)
      print "$inf";
  }
?>
</body>
естесственно этот кусок лежит отдельным файлом с расширением .php
stalker[fox] is offline   Reply With Quote
Old 01-10-2007, 06:02 PM   #14
Pol
Командир эскадрильиКапитан древнего фрегата
 
Pol's Avatar
 
Join Date: Nov 2003
Location: Житомир, Украина
Posts: 235
Re: Записи сумасшедшего или красный уголок кодера...

гы.. знакомые слова.. МарАЗМ и иэе с ним. ;-) Но чисто знакомые. Я как простой смертный кодю на барсике, когда у меня до кодинга руки доходят, или когда сильно деньги надо..
А по сайтоделанью.. Ограничиваюсь кривыми знаниями Вивера...
Pol is offline   Reply With Quote
Old 01-18-2007, 09:33 PM   #15
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Re: Записи сумасшедшего или красный уголок кодера...

краткий РТФМ... возможно кому то это будет интересно... например людям у которых есть сеть в доме, или между ними... вобщем у меня однозначно сеть есть. на два компа в одной кухне. спросите зачем? да я если честно и сам не знаю... наверное чтобы диплом тестить)

итак. не знаю кто и как, но сегодня я сидел и долго долго (аж целых 40 минут) вспоминал как же таки слепить апач с сетью чтобы в локальной сети было видно доменные имена сайтов... сначала я поставил апач, потом полез копаться в настройках... потом мне стало лень, я снёс апач и начал капаца в денверовском апаче... но поскольку у меня нифига невышло (ибо я умудрился загадить денвер), то принял решение установить денвера по новой и тестить это всё сколько душе угодно. Итак. Берём чистенький установленный денвер. интегрируем в него парочку рабочих, под него же написанных, проектов... далее лезем в конфигурационный файл апача WebServers\usr\local\apache\conf\httpd.conf и в самом конце меняем вот это:

Code:
#
# Следующая директива необходима для того, чтобы подключить файл со всеми
# виртуальными хостами, доступными в системе. Этот файл модифицируется
# автоматически при запуске, поэтому любые внесенные в него изменения
# не сохраняются. Если вы хотите повлиять на содержимое файла, то измените
# шаблон виртуального хоста, идущий выше.
#
Include conf/vhosts.conf


#
# Конец файла
#
на, к примеру (у меня то прожект как никак), вот это:

Code:
NameVirtualHost 10.10.10.10:*
<VirtualHost 10.10.10.10>
# ServerAdmin webmaster@webdll
ServerName webdll
DocumentRoot "z:/home/webdll/www"
ErrorLog z:/home/webdll/error.log
</VirtualHost>

NameVirtualHost 10.10.10.10:*
<VirtualHost 10.10.10.10>
# ServerAdmin webmaster@webdll-a
ServerName webdll-a
DocumentRoot "z:/home/webdll-a/www"
ErrorLog z:/home/webdll-a/error.log
</VirtualHost>

#
# Следующая директива необходима для того, чтобы подключить файл со всеми
# виртуальными хостами, доступными в системе. Этот файл модифицируется
# автоматически при запуске, поэтому любые внесенные в него изменения
# не сохраняются. Если вы хотите повлиять на содержимое файла, то измените
# шаблон виртуального хоста, идущий выше.
#
Include conf/vhosts.conf


#
# Конец файла
#
сохраняем. и лезем на машину клиента в папочку по адресу: SystemRoot\system32\drivers\etc\

очутившись в этой папке на МАШИНЕ КЛИЕНТА (Того кто будет к вам подключатся. у него к примеру IP адрес 10.10.10.11) в файлик hosts в конец добавляем следующие магические строчки:

Code:
#server
10.10.10.10 webdll
10.10.10.10 webdll-a
сохраняем, закрываем.. тыркаемся в браузер (набираем там к примеру вот как у меня webdll) и о чудо... оно работает... кстати перед тем как тыркаца, не забудьте у себя запустить DENWER

ЗЫ: если у вас в сети инет через прокси-сервер то я пока ещё не знаю что будет... по идее ничего... всмысле ничего страшного ... позже протестю и скажу точно чё происходит. Всем спасибо, все свободны)

ЗЗЫ: да, чуть не забыл... в файле на сервере который httpd.conf после директивы Listen нужно прописать следующее (иначе нифига оно не йожык)...

Code:
Listen 8648
Listen 80
Listen 10.10.10.10:80
другие Listen'ы мона закоменьтить чтобы не мешались)

Last edited by stalker[fox] : 01-19-2007 at 02:04 PM.
stalker[fox] is offline   Reply With Quote
Old 01-19-2007, 03:39 PM   #16
Дрон01
Вице-адмиралAntic1tizen One
 
Дрон01's Avatar
 
Faction:
Кушане - киит Наабал

Join Date: Jul 2005
Location: Israel
Posts: 974
Re: Записи сумасшедшего или красный уголок кодера...

Вглядываюсь в знакомые строчки и думаю: "А не проще ли поставить на компе в локалке DNS?")))) А на машине клиента прописать просто айпишник твоего компа в качестве Nameservers. Правда, я их под винду не знаю ни одного такого сервера, но пускай уж Линукс будет в сети? У нас так. Более того, ещё и сервер у меня выставлен, и форум, и всё через тот же "sh: service httpd start", апач родимый, то бишь. А в Виндовозном Денвере хрен разберёшься - я полчаса голову ломал, как же апач из виртуального сделать и внешним тоже)) Ещё и вирусни к его эгзешникам налипло - ёмаё...
З.Ы. К слову сказать, всё же весьма интересный метод у тебя, я завтра попробую. Ох, и побегать придётся по этажам))...
Дрон01 is offline   Reply With Quote
Old 01-19-2007, 09:43 PM   #17
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Re: Записи сумасшедшего или красный уголок кодера...

2 Дрон01:
насчёт "А не проще ли поставить на компе в локалке DNS?"

отвечу что ой как не проще... ибо не тру сафсем... доменная сеть недаёт ничего ровным счётом кроме как имя компа типа mycomp.net.ru
тупо, фигово и хрен работает нормально... потом оно же ведь полюбой нужно IIS чтобы был... а это дополнительный гемор...
ставить линух как сервак... тоже вариант НО! этож с SAMBOй мудохаца (спец клиент для виндовых сетей, наскока я помню)

а насчёт денвера ты зря... пакет отличный. главное разобраться ... насчёт вирусни... это кароче лезь на http://webtestphp.h17.ru/ смотри в самый низ странички и читай... и будет те щастье...

ЗЫ: а под хорошо поставленный и настроенный денвер можно прогрузить любой проект... включая форум и гостевую... вобщем все прелести интернетовских фишек)
точно могу сказать что форум phpBB2 работает на денвере на все 100%
stalker[fox] is offline   Reply With Quote
Old 01-27-2007, 07:37 PM   #18
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Счастье Re: Записи сумасшедшего или красный уголок кодера...

так так так....

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

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

ЗЫ: мои извинения за старую привычку выводить теги html print'ом... в большинстве случаев обычно нормальные люди ставят <? ?> там где надо, а не сразу на весь документ) такая уж идиотская привычка

Last edited by stalker[fox] : 03-22-2009 at 01:22 AM.
stalker[fox] is offline   Reply With Quote
Old 01-31-2007, 07:51 PM   #19
stalker[fox]
Командир эскадрильиКомандир эскадрильи
 
stalker[fox]'s Avatar
 
Join Date: Jun 2005
Posts: 411
Re: Записи сумасшедшего или красный уголок кодера...

Quote:
Originally Posted by ``St@lkeR{FoX}``
ЗЫ: мои извинения за старую привычку выводить теги html print'ом... в большинстве случаев обычно нормальные люди ставят <? ?> там где надо, а не сразу на весь документ) такая уж идиотская привычка
кстати сказать... данная идиотская привычка действительно идиотская, ведь если мы будем писать, например так:
Code:
...
<?
  скрипт php;
?>
теги html и js
<?
  скрипт php;
?>
...
ТО, при такой организации, при загрузке нашей страницы сайта картинки будут должны кешироватся и сайт будет работать гораздо быстрее... нежели при варианте типа:
Code:
<?
  скрипт php;
  print "теги html и js";
  скрипт php;
?>
2All:
все кто брал шаблоны "движков" сайтов выложенных мной, пожалуйста исправьте всё на то как я только что написал)
stalker[fox] is offline   Reply With Quote
Old 02-04-2007, 06:18 AM   #20
Дрон01
Вице-адмиралAntic1tizen One
 
Дрон01's Avatar
 
Faction:
Кушане - киит Наабал

Join Date: Jul 2005
Location: Israel
Posts: 974
Re: Записи сумасшедшего или красный уголок кодера...

Слушай, а Денвер ведь обновляется? У него ж где-то домашняя страничка есть....в связи с этим вопрос - как его обновлять?? И не смотри на меня так, ты не то подумал. Дело в том, что я за базу форума и сайта боюсь - как там с ней выйдет. Вдруг более новая версия не поддерживает старых баз?? Или это уже психоз у меня начинается?
З.Ы. Вот у тебя денвер как идёт, инсталятор, то бишь сам? Пакетом MSWInstaller? Он же просто распаковывается и на установки предыдущего денвера даже не смотрит!!
Дрон01 is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +3. The time now is 02:42 AM.

Page generated: 0.159 seconds (94.94% - PHP and 5.06% - MySQL), 11 queries total