[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: применение id к нужному полю
ДиммКа
есть менюшка сайта
   <ul class="box">
<li
id="active"><a href="/index.php">Главная</a></li>
<li ><a
href="/rule/">Правила</a></li>
<li><a
href="/author/">Об Авторах</a></li>
<li><a
href="/help/">Помощь</a></li>
<li><a
href="/fiends/">Друзья!<</a></li>

</ul>

если мы находимся на странице Главная то к li добовляется id="active" тем самым выделяя надпись главная. А можно ли сделать как то на PHP чтобы если мы заходим на любую их тех страниц ей автоматически присваивался id="active" ?



Спустя 5 минут, 29 секунд (28.07.2010 - 12:07) inpost написал(а):
тут вот в чем дело, если каждая страница имеет персональное название: "index", "news", "articles", то получаешь $here = basename(__file__); А дальше пишешь, если $here = index.php - то добавляем id=active, если нет - то ничего!

Если через GET у тебя данные о странице получаются, то тут куда проще, сверяешь $_GET

Спустя 2 минуты, 10 секунд (28.07.2010 - 12:09) ДиммКа написал(а):
а если каждая страница лежит в папке news help и т.д. то так можно?

Спустя 1 минута, 37 секунд (28.07.2010 - 12:11) inpost написал(а):
Ты покажи структуру! Как называются файлы .php

Спустя 2 минуты, 47 секунд (28.07.2010 - 12:14) ДиммКа написал(а):
пожалуйста
файл Главная - index.php
файл Правила - rule/index.php
файл Об Авторах - author/index.php
файл Помощь - help/index.php
файл Друзья! - friends/index.php

Спустя 2 минуты, 7 секунд (28.07.2010 - 12:16) inpost написал(а):
ДиммКа А почему именно такая структура? Не легче сделать: rule.php, author.php, help.php??? И проблем будет меньше. А ещё лучше в таком виде:
index.php?page=rule
index.php?page=author
index.php?page=help

Ну если это есть какая-то специальная цель для разделения, ты скажи, будем думать! Просто так как я говорю, будет в 100 раз проще

Спустя 38 секунд (28.07.2010 - 12:16) blade написал(а):
Цитата (inpost @ 28.07.2010 - 09:16)
ДиммКа А почему именно такая структура? Не легче сделать: rule.php, author.php, help.php??? И проблем будет меньше. А ещё лучше в таком виде:
index.php?page=rule
index.php?page=author
index.php?page=help

Ну если это есть какая-то специальная цель для разделения, ты скажи, будем думать! Просто так как я говорю, будет в 100 раз проще

а как сделать именно в таком виде как вы написали ?

Спустя 3 минуты, 37 секунд (28.07.2010 - 12:20) inpost написал(а):
blade Прочитай в первом моём коменте! Там написано как. Если что-то не понятно, могу сказать более подробно

Спустя 37 секунд (28.07.2010 - 12:20) ДиммКа написал(а):
цель помоему простая: вопервых получается порядок в файлах если их распределить по каталогам, во вторых если к файлу (например к help/index.php) относится файл mail.php то я помещаю его просто в каталог help и порядок! а так когда все файлы в куче не удобно, и даже если для этих спец файлов создать каталог впоследстивии надо еще вспонмить какой файл к какому относится, а если их там около 40? слишком много напряга помоему!

Спустя 1 минута, 6 секунд (28.07.2010 - 12:22) blade написал(а):
Цитата (inpost @ 28.07.2010 - 09:20)
blade Прочитай в первом моём коменте! Там написано как. Если что-то не понятно, могу сказать более подробно

если честно не очень понял , можно как нить поподробнее и что куда писать ?!
как раз пригодится не только для меня )

Спустя 1 минута, 12 секунд (28.07.2010 - 12:23) blade написал(а):
Цитата (ДиммКа @ 28.07.2010 - 09:20)
цель помоему простая: вопервых получается порядок в файлах если их распределить по каталогам, во вторых если к файлу (например к help/index.php) относится файл mail.php то я помещаю его просто в каталог help и порядок! а так когда все файлы в куче не удобно, и даже если для этих спец файлов создать каталог впоследстивии надо еще вспонмить какой файл к какому относится, а если их там около 40? слишком много напряга помоему!

тут ты не прав когда 40 каталогов вот тогда путаница а когда 40 файлов это еще норм как по мне smile.gif

Спустя 3 минуты, 12 секунд (28.07.2010 - 12:26) inpost написал(а):
index.php?page=help&cat=mail
index.php?page=help&cat=auto

Чем не удобно? Зато потом когда преобразуешь в ЧПУ, красота получится =)
Если тебе уж так сильно надо, то функцией, сразу не вспомню, получаешь полностью всю адресную строку, далее разбиваешь её по "/" (explode) и получаешь предпоследнее значение массива (там будет название папки)! А дальше как я писал в первом сообщении делаешь проверку!

Хотя рекомендую, делать все же в моём стиле)

Спустя 1 минута, 11 секунд (28.07.2010 - 12:27) blade написал(а):
Цитата (inpost @ 28.07.2010 - 09:26)
index.php?page=help&cat=mail
index.php?page=help&cat=auto

Чем не удобно? Зато потом когда преобразуешь в ЧПУ, красота получится =)
Если тебе уж так сильно надо, то функцией, сразу не вспомню, получаешь полностью всю адресную строку, далее разбиваешь её по "/" (explode) и получаешь предпоследнее значение массива (там будет название папки)! А дальше как я писал в первом сообщении делаешь проверку!

Хотя рекомендую, делать все же в моём стиле)

а есть темы или уроки , примеры как так сделать ?

Спустя 2 минуты, 46 секунд (28.07.2010 - 12:30) inpost написал(а):
blade Это на скорую руку, можно и красивее и лучше:
<li<?php if($here == "rule.php") {echo ' id="active"';}><a href="/rule/">Правила</a></li>
// а это если через $_GET
<li<?php if($_GET['page'] == "rule") {echo ' id="active"';}><a href="/rule/">Правила</a></li>

Собственно, если делать через $_GET - то необходима защита небольшая.

Спустя 1 минута, 12 секунд (28.07.2010 - 12:31) ДиммКа написал(а):
да хотелось бы какой нибудь урок! чтоб так сказать пошагово!

Спустя 4 минуты, 10 секунд (28.07.2010 - 12:35) blade написал(а):
Цитата (ДиммКа @ 28.07.2010 - 09:31)
да хотелось бы какой нибудь урок! чтоб так сказать пошагово!

да да как ссылки преобразовывать было бы самое то

Спустя 1 минута, 8 секунд (28.07.2010 - 12:36) inpost написал(а):
ДиммКа blade Кроме уроков от Твина, я даже и не знаю...
Вроде как основу написал, как проверить и сделать. Ты по пунктам напиши, что именно тебе не понятно, расскажу. Просто я и про ЧПУ писал, и про инициализацию GET, и про структуру.

Спустя 3 минуты, 14 секунд (28.07.2010 - 12:40) blade написал(а):
1. как сделать ссылку типа index.php?page=mail чтобы при переходе по данной ссылке открывалось содержимое файла mail.php
2. как сделать чтобы просто файл mail.php не открывался а только через ссылку index.php?page=mail
пример нужен только по 1 ссылке а потом уе по наглядности можно и самому сделать

Спустя 9 минут, 13 секунд (28.07.2010 - 12:49) inpost написал(а):
$bad = array("'", " ", "`", '"', ":", ";", "=", "!", "+");
if (!isset($_GET['page']) || $_GET['page'] == "") {$thispage = "main";} else {$thispage = str_replace($bad, "", $_GET['page']);}
// Мы получили обработанную $_GET, без злобных символов, которые смогут нам навредить
$pages = mysql_query ("SELECT * FROM pages WHERE page='".$thispage."'",$db);
if (mysql_num_rows($pages) > 0) {$page = mysql_fetch_assoc ($pages);} else {header("Location: ht tp: //sit e. ru/ index.php?page=404");</span> exit;} // убрал выделение глупое
// Сверяемся с БД, что в таблице pages есть запись с именем page=$thispage. Это надо для того, чтоб быть уверенным, что эта страница существует! При этом в БД хранятся данные об этой странице! (title, keywords, text)
// А вот структура тела:

<body>
<
div align="center"><div style="position:relative; width:1000px">
<?php include("blocks/header.php"); ?>
// Вот дальше идет центральная часть, у меня разбита на левую и правую колонку! Где содержимое помещается лишь в правую часть! Слева (left.php) идет навигация! Так же часть навигации есть и в header.php
<div class="body">
<
div class="blockleft2"><div align="justify"><?php include("blocks/left.php"); ?></div></div>
<
div class="blockright2"><div align="justify" class="blockrightpad2"><?php include($thispage.".php"); ?></div></div>
<
div id="bottom"></div>
</
div>
// Тут заканчивается центральная часть на 2 колонки!
<?php include("blocks/footer.php"); ?>
</div>
</
div>
</
body>


В header помещаешь свою навигацию, делаешь проверку, как я написал, через if($thispage == main) - main (это и есть index в моей структуре!)
Далее структура самого сайта:
main.php
contacts.php
articles.php
- Все они подключаются к главному индекс через include($thispage.".php");

Снова вернусь к навигации, вот она "blocks/header.php":
<li<?php if($thispage == "main") {echo " id=select";}?>><a href="index.php">Главная</a></li>
<
li<?php if($thispage == "zoocentr") {echo " id=select";}?>><a href="index.php?page=zoocentr">Зооцентр "Планета"</a></li>

Спустя 5 минут, 38 секунд (28.07.2010 - 12:55) inpost написал(а):
blade Вопрос №2 очень интересный, я ещё не совсем его освоил, в уроках Твина есть такое! Запрет на прямое открытие!!!
П.С. данный пример из моих предыдущих сайтов! Но я вижу огромные проблемы в нём, сейчас совершенствую! Но для того, чтоб показать вам как устроена структура - вполне подойдет =)

Спустя 3 минуты (28.07.2010 - 12:58) blade написал(а):
а где можно найти уроки твина ?!

Спустя 2 минуты, 56 секунд (28.07.2010 - 13:00) inpost написал(а):
http://irbis-team.com/
Собственно часть того, что я показал, я взял у него! Другую, большую часть, сам уже сочинял =)

П.С. то, что я показал, достаточно понятно?

Спустя 52 секунды (28.07.2010 - 13:01) blade написал(а):
Цитата (inpost @ 28.07.2010 - 10:00)
http://irbis-team.com/
Собственно часть того, что я показал, я взял у него! Другую, большую часть, сам уже сочинял =)

П.С. то, что я показал, достаточно понятно?

да вполне
Быстрый ответ:

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