![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
anonymous_userus |
|
|||
Unregistered |
Здравствуйте.. Нужна ваша помосчь. Я начинающий в PHP
Вот, например, взять форум типа Ib или phpbb, там кроме одной страницы index.php ничего нету. Я хочу сделать такое же. Т.е. вот допустим у меня на сайте ссылки на разделы, я хочу сделать так чтобы у каждого раздела было свое имя и к разделу можно было перейти введя в браузере что-то типа такого: /index.php?act=guestbook или /index.php?act=faq а в самом index.php сделать проверку, на act, т.е. если act=faq то и include("faq") (хотя это наверное гемор, мне кажется делается это по-другому) воот. надеюсь поняли. надеюсь поможете. с уважением. |
|||
|
||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
А что не получается?
|
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 3 Всего: 71 |
Кажется, проще будет вызывать отдельные части при помощи запроса, типа index.php?guestbook.
Строка "guestbook" будет храниться в $QUERY_STRING, а там уже анализируй и подключай файлы, какие надо. |
|||
|
||||
anonymous_userus |
|
||||
Unregistered |
нет, не получается, к сожалению вообщем я сделал так на главной
но есть одна маленькая проблемка. если я пишу /index.php?act= , то тогда всё нормально, делается дефолтный выбор в switch($act), т.е делается include("default.php") Но, если я пишу просто адрес сайта (в моём случае- localhost/foo) или просто /index.php то появляется ошибка Notice: Undefined variable: act in x:\home\localhost\www\foo\index.php on line 72. никак не допераю до того, что надо сделать |
||||
|
|||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
а что в x:\home\localhost\www\foo\index.php в 72 строке?
|
|||
|
||||
Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
Это сообщение отредактировал(а) Ignat - 9.8.2004, 14:59 -------------------- Теперь при чем :P |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 3 Всего: 71 |
Мужики, не понял, я вроде написал как сделать: для этой цели нет необходимость вводить новую переменную $act, достаточно использовать запрос типа index.php?string, а string будет находиться в переменой $QUERY_STRING
![]() |
|||
|
||||
anonymous_userus |
|
|||
Unregistered |
да там собственно и было "switch($act){" Ignat, спасибо помогло. спасибо всем. |
|||
|
||||
anonymous_userus |
|
||||
Unregistered |
переменная $QUERY_STRING это что? |
||||
|
|||||
Ignat |
|
||||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
Увидишь. ![]() -------------------- Теперь при чем :P |
||||
|
|||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Вот они, ошибки программирования. А ты теперь подумай что заинклуденный скрипт передает какие ни будь параметры через урл. И что даст нам QUERY_STRING при таком запросе: index.php?guestbook&act=add_post ? Будем инкляйдеть по умолчанию default.php а запись в гостевуху не запишется! -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
skalex |
|
|||
![]() Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
Вообще я считаю, что такой подход не совсем удобен!
Гораздо удобнее делать так: Код index.php (на этот файл надо заворачивать любой запрос к сайту (с помощью .htaccess))
|
|||
|
||||
Sufius |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 5.4.2004 Где: Питер Репутация: 1 Всего: 1 |
Небольшой оффтоп...
А что будет быстрее работать? Сайт "одной страницы", как описано выше... или обычный набор страниц с инклюдами шапки и боттома и с инфой между ними? |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Думаю что второй вариант. Но имхо неудобный.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
skalex |
|
|||
![]() Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
Sufius
Я думаю что ты вряд ли почуствуешь разницу в скорости работы. |
|||
|
||||
Secandr |
|
|||
![]() Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Если сайт маленький ~10 страниц, то удобнее хранить всё в одном файле, если сайт большой и сложный, то необходимо разбивать на файлы, поскольку запутаешься.
Причём лучше разделять код php и html шаблоны. Существует два варианта: использовать шаблоны или писать функции в которых содержится html "псевдо шаблоны |
|||
|
||||
d1mac |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 9.8.2004 Репутация: нет Всего: нет |
вообщем написал так:
я так понял это - если 'act' не пуст или если 'act' определен {дальше не понятно} ааа :wacko: обьясните, что значит эта строка, плиз. :help: |
|||
|
||||
Sufius |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 5.4.2004 Где: Питер Репутация: 1 Всего: 1 |
2 Изатоп
Почему неудобно? <? require ("functions.php"); // подключение функций include ('top.php'); // макуушка ?> пошел обычный хтмл <? include('bottom.php'); ?> И всё... Ну при использовании сессий немножко код будет более громоздкий... Я просто тут думаю... у меня сайт на 50 страниц с информацией... на одну страницу я грюкнусь код писать =))) 2 остальные Спасибо за ответы =) |
|||
|
||||
Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
Эта строка означает, что условие выполнится, когда $_GET['act'] существует И не пуст. Имхо, в дополнении isset($_GET['act']) нет смысла - функция empty вернет true и в случае пустоты, и в случае неопределенности -------------------- Теперь при чем :P |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 3 Всего: 71 |
IZ@TOP
В случае, где необходимо использовать такие сложные запросы, с помощью которых, к примеру, можно сразу добавлять запись в готевую книгу, должен признать, что я был не прав ![]() ![]()
|
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Perchilla
Лучше сразу "в грязь", зато теперь будешь знать как хорошо, а как плохо ![]() ![]() А по сабжу скажу: самое лучшее использование движка на MYSQL + HTML Templates + PHP Template Modules. Mysql думаю понятно что такое. HTML Templates это шаблоны HTML страниц. Достаточно всего нескольких для разных данных в которых и генерится вся инфа. Еще их можно ккешировать. Определять были ли изменения данных в базе, если да - обновить кэш, нет - не обращаться за данными к MYSQL а просто выдать страницу из кэша. PHP Templates Modules это что то вроде подключаемых php скриптов внутрь страницы, только они подключаются динамически в зависимости от того, какой модуль требуется для данного раздела/документа, а дальше все управление контентом передается в модуль, или инфа полученная из модуля передается в движок и парсится в шаблонах. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |