В index.php примерно слудующее:
<?php
require 'top.php'; // это то, что должно быть в шляпе(div'ы, ссылки и прочее)
require 'left.php'; //это левая панель(навигация тож самое div, ссылки)
$page=$_REQUEST['page'];
switch($page)
{
case 'home':
include 'tpl/news.php'; //Главная страница
break;
case 'register':
include 'tpl/register.php'; //Страница регистрации
break;
case 'addnews.php':
include 'tpl/addnews.php'; //Добавление новости
break;
и так далее...
default:
include 'tpl/news.php';
break;
}
include 'bottom.php'; //Тут футер
?>
В каждом подключаемом шаблоне выполняются свои скрипты...
Еще вопросец: Одинаковых переменных не должно быть? т.е. пересекаться в момент выполнения? Допустим в left.php там свое формируется, дальше в news.php свое...
Спустя 9 минут, 15 секунд (21.04.2011 - 09:54) Renden написал(а):
Я бы написал так:
Ответиг: Нет не должно быть тк в итоге у тя получается 1 большой файл, со всеми переменными которые могут быть использованны в любом месте скрипта, рекомендую пользоватся функциями если у тебя похожие действия.
<?php
require 'top.php'; // это то, что должно быть в шляпе(div'ы, ссылки и прочее)
require 'left.php'; //это левая панель(навигация тож самое div, ссылки)
if (isset($_GET['page'])) {
$page = $_GET['page'] ? $_GET['page'] : 'news'; //не заметил что дефаулт у тя news.php отредактировал
if(file_exists('tpl/'.$page.'.php')) {
include ('tpl/'.$page.'.php');
} else {
echo "Страница не найдена";
}
}
include 'bottom.php'; //Тут футер
?>
Ответиг: Нет не должно быть тк в итоге у тя получается 1 большой файл, со всеми переменными которые могут быть использованны в любом месте скрипта, рекомендую пользоватся функциями если у тебя похожие действия.
Спустя 4 минуты, 32 секунды (21.04.2011 - 09:59) neadekvat написал(а):
Renden, в топку твой вариант - он дырявый насквозь. Нельзя так делать.
Как минимум, так:
Как минимум, так:
<?php
require 'top.php'; // это то, что должно быть в шляпе(div'ы, ссылки и прочее)
require 'left.php'; //это левая панель(навигация тож самое div, ссылки)
$modules = array('addnews', 'reg');
if (in_array($_GET['page'], $modules)) {
include 'tpl/'. $_GET['page'] .'.php';
else
include 'news.php';
include 'bottom.php'; //Тут футер
Спустя 3 минуты, 13 секунд (21.04.2011 - 10:02) Renden написал(а):
neadekvat
Да согласен такой вариант лутьше, неподумал чет. Вплане дырявый, да в папке tpl можно выполнить любой скрипт который там лежит, но там ведь только шаблоны страниц...
Я тоже учусь так что прокоментируй пожалуйста)
Да согласен такой вариант лутьше, неподумал чет. Вплане дырявый, да в папке tpl можно выполнить любой скрипт который там лежит, но там ведь только шаблоны страниц...
Я тоже учусь так что прокоментируй пожалуйста)
Спустя 1 минута, 56 секунд (21.04.2011 - 10:04) XCross написал(а):
т.е. как я понял сначала создаем массив со всеми имеющимися страничками, потом проверяем есть ли запрашиваемая страница в массиве и если есть, то подключаем ее, если нет, то можно ошибку 404...
Вроди так понял. Так строится навигация по страничкам?
Вроди так понял. Так строится навигация по страничкам?
Спустя 2 минуты, 36 секунд (21.04.2011 - 10:07) Renden написал(а):
kmaks
Ну в данном случае так, я же храню заместо массива информацию о страницах в базе mysql)
Ну в данном случае так, я же храню заместо массива информацию о страницах в базе mysql)
Спустя 21 секунда (21.04.2011 - 10:07) neadekvat написал(а):
Цитата (kmaks @ 21.04.2011 - 11:04) |
если есть, то подключаем ее, если нет, то можно ошибку 404... |
Или страницу по умолчанию, как я показал (отредактировал код).
В остальном верно.
Цитата (kmaks @ 21.04.2011 - 11:04) |
Так строится навигация по страничкам? |
Один из вариантов.
Спустя 5 минут, 18 секунд (21.04.2011 - 10:12) XCross написал(а):
а как передать переменную страничке?
типа shownews.php?id=1
типа shownews.php?id=1
Спустя 50 секунд (21.04.2011 - 10:13) Renden написал(а):
kmaks
$id = (int)$_GET['id'];
Спустя 11 минут, 43 секунды (21.04.2011 - 10:25) XCross написал(а):
Это то я знаю...
Спустя 2 минуты, 52 секунды (21.04.2011 - 10:28) XCross написал(а):
<?php
require 'top.php'; // это то, что должно быть в шляпе(div'ы, ссылки и прочее)
require 'left.php'; //это левая панель(навигация тож самое div, ссылки)
$modules = array('shownews', 'reg');
if (in_array($_GET['page'], $modules)) {
include 'tpl/'. $_GET['page'] .'.php';
else
include 'news.php';
include 'bottom.php'; //Тут футер
Ведь смотри, формируется страничка index.php, а не shownews.php и если передать значение переменной, то получится в index.php...
там ведь shownews.php подключится просто(без передачи переменных)
:blink:
Спустя 3 минуты, 14 секунд (21.04.2011 - 10:31) neadekvat написал(а):
Цитата (kmaks @ 21.04.2011 - 11:28) |
там ведь shownews.php подключится просто(без передачи переменных) |
А попробовать? При подключении скрипт станет частью "большего" скрипта, он будет выполнен вместе с ним (а не изолированно), и все переменные, доступные в "большем" скрипте будут доступны в подключаемом, ровно как и наоборот.
Спустя 24 минуты, 12 секунд (21.04.2011 - 10:55) XCross написал(а):
Хорошо, попробую. Спасибо всем!
Спустя 9 часов, 47 минут, 54 секунды (21.04.2011 - 20:43) XCross написал(а):
Работает! Все спасибо...так даже код менее громоздкий
Спустя 42 минуты, 26 секунд (21.04.2011 - 21:25) denizkin написал(а):
kmaks
Я бы доработал вариант Renden по взятию id до такого:
Я бы доработал вариант Renden по взятию id до такого:
$id = isset($_GET['id'])?(int)$_GET['id']:0;
if ( ($id > 0) && ($id <=pagesCount) ) {
// тут ещё можно сделать жёсткую проверку по имеющимся ссылкам!
// выполняем наши странички
}
else {
// ошибка 404
}
Спустя 8 минут, 31 секунда (21.04.2011 - 21:34) neadekvat написал(а):
denizkin, зачем это? И откуда берется pagesCount? Почему в константе всего одна буква в верхнем регистре, когда все цивилизованные программисты пишут имена констант в верхнем регистре?
Спустя 13 минут, 43 секунды (21.04.2011 - 21:48) denizkin написал(а):
neadekvat
pagesCount - это общее кол-во твоих страниц, тобишь макс id, после которого нет страниц! Чтоб если ввести неверную страницу был переход на 404, а не переход на несуществующую страницу!
И вообще ты незамечаешь, что ты фигню пишешь?
Человек спросил как id взять ему ответили, я привёл пример как лучше это дело экранировать, более жёсткий шаблон! Я привёл в данном конкретном случае!
Цивилизованные программисты жёстко затачивают всё, чтобы не было сбоев и пишут всё под конкретную задачу!
Ты там мне так и не ответил по поводу таблицы, чем она плоха в замену той таблицы связей которую привёл Snus!
pagesCount - это общее кол-во твоих страниц, тобишь макс id, после которого нет страниц! Чтоб если ввести неверную страницу был переход на 404, а не переход на несуществующую страницу!
И вообще ты незамечаешь, что ты фигню пишешь?
Человек спросил как id взять ему ответили, я привёл пример как лучше это дело экранировать, более жёсткий шаблон! Я привёл в данном конкретном случае!
Цивилизованные программисты жёстко затачивают всё, чтобы не было сбоев и пишут всё под конкретную задачу!
Ты там мне так и не ответил по поводу таблицы, чем она плоха в замену той таблицы связей которую привёл Snus!
Спустя 47 минут (21.04.2011 - 22:35) neadekvat написал(а):
Цитата (denizkin @ 21.04.2011 - 22:48) |
pagesCount - это общее кол-во твоих страниц, тобишь макс id, после которого нет страниц! Чтоб если ввести неверную страницу был переход на 404, а не переход на несуществующую страницу! |
То есть, по-твоему, не может возникнуть ситуация, когда id входит в промежуток, но страницы с таким id нет (удалена, например)?
Цитата (denizkin @ 21.04.2011 - 22:48) |
Человек спросил как id взять ему ответили, я привёл пример как лучше это дело экранировать, более жёсткий шаблон! |
Мои тапочки захлебываются от смеха, смотря на твой "более жесткий шаблон!".
Цитата (denizkin @ 21.04.2011 - 22:48) |
Цивилизованные программисты жёстко затачивают всё, чтобы не было сбоев и пишут всё под конкретную задачу! |
Не надо демагогии. Есть правило: имена констант пишут в верхнем регистре. Точка.
Цитата (denizkin @ 21.04.2011 - 22:48) |
Ты там мне так и не ответил по поводу таблицы, чем она плоха в замену той таблицы связей которую привёл Snus! |
Там - где?
Цитата (denizkin @ 21.04.2011 - 22:48) |
И вообще ты незамечаешь, что ты фигню пишешь? |
Я сейчас прочитал что-то настолько смешное, что у меня не хватает эмоций и слов, чтобы это описать.
Спустя 9 минут, 17 секунд (21.04.2011 - 22:44) Guest написал(а):
neadekvat
Ты такой... я люблю твороженные булочки, просто ужас!
1) Чтоб не возникло такой ситуации я внутри сделал подпись, что можно сделать доп. условие которое и будет выбирать на остальные страницы!
2) Где ты увидел константу? pagesCount получается из запроса к бд! Я тебе вставил кусок кода, ты в нём константу увидел!
3) Там где разговор про таблицы! Не прикидывайся, я люблю булочки!
4) Да ты вообще смешён!))
Если хочешь я до твоего кода тоже докапаюсь, который ты сверху привёл
если введёшь index.php?page=reg&page=addnews сработает news! Фигли ты такой умный и не учёл этого?
Ты такой... я люблю твороженные булочки, просто ужас!
1) Чтоб не возникло такой ситуации я внутри сделал подпись, что можно сделать доп. условие которое и будет выбирать на остальные страницы!
2) Где ты увидел константу? pagesCount получается из запроса к бд! Я тебе вставил кусок кода, ты в нём константу увидел!
3) Там где разговор про таблицы! Не прикидывайся, я люблю булочки!
4) Да ты вообще смешён!))
Если хочешь я до твоего кода тоже докапаюсь, который ты сверху привёл
если введёшь index.php?page=reg&page=addnews сработает news! Фигли ты такой умный и не учёл этого?
! |
inpost |
Спустя 1 минута, 20 секунд (21.04.2011 - 22:45) neadekvat написал(а):
Залогинься и подтверди, что это действительно ты, denizkin. В противном случаи я не буду тратить время на анонима.
Спустя 16 минут, 17 секунд (21.04.2011 - 23:02) denizkin написал(а):
neadekvat
А то ты не понял с кем ты говоришь! Опять прикидываешься! Я с другого компа просто зашёл не заметил, что не был залогинен! Короче одним словом, я люблю твороженные булочки!
А то ты не понял с кем ты говоришь! Опять прикидываешься! Я с другого компа просто зашёл не заметил, что не был залогинен! Короче одним словом, я люблю твороженные булочки!
! |
inpost |
Спустя 6 минут, 40 секунд (21.04.2011 - 23:08) neadekvat написал(а):
Цитата (Guest @ 21.04.2011 - 23:44) |
Ты такой нубарь, просто ужас! |
Цитата (denizkin @ 22.04.2011 - 00:02) |
а мажор понты свои себе в жопу засунь |
И кто из нас неадекват, солнышко?
Цитата (Guest @ 21.04.2011 - 23:44) |
1) Чтоб не возникло такой ситуации я внутри сделал подпись, что можно сделать доп. условие которое и будет выбирать на остальные страницы! |
Нафига
Цитата (Guest @ 21.04.2011 - 23:44) |
Где ты увидел константу? pagesCount получается из запроса к бд! Я тебе вставил кусок кода, ты в нём константу увидел! |
Цитата (Guest @ 21.04.2011 - 23:44) |
Там где разговор про таблицы! |
Так дай линк. Тебе ведь нужен мой ответ.
Цитата (Guest @ 21.04.2011 - 23:44) |
если введёшь index.php?page=reg&page=addnews сработает news! Фигли ты такой умный и не учёл этого? |
Хм, интересно, какой идиот передает два одинаковых параметра скрипту за один раз? Это был риторический вопрос
Спустя 9 минут, 27 секунд (21.04.2011 - 23:18) denizkin написал(а):
neadekvat
1) У кого ник тот он и есть!
2) Я pagesCount по твоему откуда беру? Внутри у себя в коде я проверяю так же на существование в базе, просто если у меня стоит флажок, что удалённых страниц нет или страниц которые не отображаются, я не делаю лишних запросов в базу при проверке ид!
3) Это опечатка, я люблю твороженные булочки!
4) я люблю твороженные булочки
5) Ну вот такой неадекват как ты и будет 2 параметра одинаковых передавать запросе и кричать что почему ты не сделал так!))
Короче будь проще, и выражай мысли нормально!
1) У кого ник тот он и есть!
2) Я pagesCount по твоему откуда беру? Внутри у себя в коде я проверяю так же на существование в базе, просто если у меня стоит флажок, что удалённых страниц нет или страниц которые не отображаются, я не делаю лишних запросов в базу при проверке ид!
3) Это опечатка, я люблю твороженные булочки!
4) я люблю твороженные булочки
5) Ну вот такой неадекват как ты и будет 2 параметра одинаковых передавать запросе и кричать что почему ты не сделал так!))
Короче будь проще, и выражай мысли нормально!
! |
inpost |
Спустя 6 минут, 25 секунд (21.04.2011 - 23:24) neadekvat написал(а):
Цитата (denizkin @ 22.04.2011 - 00:18) |
У кого ник тот он и есть! |
И как оно: чувствовать себя ущербным на фоне человека с ником Неадекват?
Цитата (denizkin @ 22.04.2011 - 00:18) |
Я pagesCount по твоему откуда беру? Внутри у себя в коде я проверяю так же на существование в базе, просто если у меня стоит флажок, что удалённых страниц нет или страниц которые не отображаются, я не делаю лишних запросов в базу при проверке ид! |
Да какая разница, откуда? Это константа. А их надо писать в верхнем регистре.
Цитата (denizkin @ 22.04.2011 - 00:18) |
Это опечатка, относится доебаться можно до чего угодно! |
Где опечатка? Я хоть и обладаю телепатическими способностями, но твои мысли без 0,5 не разберешь.
Цитата (denizkin @ 22.04.2011 - 00:18) |
Ну вот такой неадекват как ты и будет 2 параметра одинаковых передавать запросе и кричать что почему ты не сделал так!)) |
Но ведь это сделал именно ты. Уже забыл? Бедный, что с памятью то?
Цитата (denizkin @ 22.04.2011 - 00:18) |
Короче будь проще, и выражай мысли нормально! |
Сышь, пацанчик, мож с тобой на фене лясы точить? А то на русиче ты не догоняешь.
Спустя 3 часа, 55 минут, 25 секунд (22.04.2011 - 03:19) XCross написал(а):
Вот, что использую я сейчас. Намного удобнее переключателей. Незнаю что здесь можно еще оптимизировать. На мой взгляд и так пойдет.
С переменными разобрался, когда прочитал литературу. Все предельно просто оказалось.
С переменными разобрался, когда прочитал литературу. Все предельно просто оказалось.
<?php
define ("BLOCK", "YES");
include 'connect.php';
include 'tpl/header.php';
$modules = array('products', 'register', 'buy', 'more', 'cart');
if(in_array($_GET['page'], $modules))
{
include 'tpl/'. $_GET['page'] .'.php';
}
else
{
include 'tpl/products.php';
}
include 'tpl/left.php';
include 'tpl/footer.php';
?>
Спустя 5 часов, 33 минуты, 2 секунды (22.04.2011 - 08:53) Guest написал(а):
neadekvat
Какая это константа тебе выше написано опечатка $ забыл поставить! Но понятное дело куда тебе мега умники догнать то!
Если ты ссышь, то тебе пора к врачу!
По фене?! Ты её хоть знаешь ?
Какая это константа тебе выше написано опечатка $ забыл поставить! Но понятное дело куда тебе мега умники догнать то!
Если ты ссышь, то тебе пора к врачу!
По фене?! Ты её хоть знаешь ?
Спустя 8 минут, 47 секунд (22.04.2011 - 09:01) Игорь_Vasinsky написал(а):
OoOo. Вы чё так завелись, да:
1. Частенько кто нить смеётся над чьим то кодом: хотя можно было бы деликатно указать на минусы
2. И всегда ТС будет так реагировать на всё это, так уж устроен человек.
Так что есть "недодуманный скрипт" и есть правокатор.
Кто-то технарь и ставит собеседника на равне с собой.
Кто-то сам учиться, потому что нравиться и учиться на своих ошибках.
Может просто учиться помогать, а не критиковать?
1. Частенько кто нить смеётся над чьим то кодом: хотя можно было бы деликатно указать на минусы
2. И всегда ТС будет так реагировать на всё это, так уж устроен человек.
Так что есть "недодуманный скрипт" и есть правокатор.
Кто-то технарь и ставит собеседника на равне с собой.
Кто-то сам учиться, потому что нравиться и учиться на своих ошибках.
Может просто учиться помогать, а не критиковать?
Спустя 10 часов, 9 минут, 54 секунды (22.04.2011 - 19:11) Guest написал(а):
Игорь_Vasinsky
Грамотный подход!
Грамотный подход!
_____________
Обмен Ukash на WebMoney