|
|
|
| есть урл
Нужно чтобы если урл имеет вид:
index.php
index.php?mod=mod1
|
выводилось то-то
ксли другие вариации, то пропускалось.
У меня пока вот-так записано:
<?php
if(!isset($_GET['mod']))
{
выводятся новости
} else
{
выводится просто контент
}
?>
Но вот как сделать чтобы при заходе на главную (index.php или index.php?mod=mod1) тоже выводились новости? | |
|
|
|
|
|
|
|
для: Dizels
(11.09.2009 в 16:00)
| | два варианта
<?php
switch ($_GET['mod']) {
case 'mod1': что-то делаем; break;
case 'mod4': что-то делаем; break;
default: что делаем, если mod отсутсвует.
}
// второй:
if ($_GET['mod'] == 'mod1') делаем что-то при mod1;
if ($_GET['mod'] == 'mod4') делаем что-то при mod4;
|
| |
|
|
|
|
|
|
|
для: neadekvat
(11.09.2009 в 16:19)
| | Чуть чуть не верно объяснил параметр у mod может быть любой, мне главное проверять не индексная ли это страница и не равен ли этот параметр 1 | |
|
|
|
|
|
|
|
для: Dizels
(11.09.2009 в 16:30)
| |
<?php
if (!isset($_GET['mod']) or $_GET['mod'] == 'mod1') {
// show news
} else {
// other
}
?>
|
| |
|
|
|
|
|
|
|
для: neadekvat
(12.09.2009 в 00:52)
| | истина таки родилась | |
|
|
|
|
|
|
|
для: Trianon
(12.09.2009 в 00:56)
| | А я не понял подхода. Безусловно отвечает требованиям заказчика, но... политика странная, ей богу. | |
|
|
|
|
|
|
|
для: Рома
(12.09.2009 в 01:25)
| | Обоснуйте.
Где вы тут политику увидели, и чем она странная?
$_GET['mod'] либо есть, либо его нет.
По вашему, лучше было написать еще килограмм кода? В принципе, можно, политика будет правильная. Но бредовая.
P.S. человек тот - не заказчик. С заказчиков деньги берут, а он так..совета спрашивает | |
|
|
|
|
|
|
|
для: Рома
(12.09.2009 в 01:25)
| | ну что делать, коль заказчик вправе.
Ваш вариант тоже имеет право, но согласитесь - исходные условия Вы подвинули весьма отчетливо. | |
|
|
|
|
|
|
|
для: Dizels
(11.09.2009 в 16:00)
| | >Но вот как сделать чтобы при заходе на главную (index.php или index.php?mod=mod1) тоже выводились новости?
Зачем?? Пишите mod=1, например, или all, если страница вывода всех новостей
mod=mod1 - это неправильно, придется использовать регулярные выражения, для проверки переменных
у вас все правильно, только
<?php
if(isset($_GET['mod']))
{
if($_GET['mod']=='all')
{
// показываете все новости, со ссылкой "подробнее" для каждой
}
else
{
$mod=intval($_GET['mod']);
// теперь в зависимости от этой переменной показываете конкретную новость
}
}
else
{
// выводятся новости за сегодня и вчера, со ссылкой "подробнее" для каждой
}
?>
|
| |
|
|
|
|
|
|
|
для: Dizels
(11.09.2009 в 16:00)
| | Но вот как сделать чтобы при заходе на главную (index.php или index.php?mod=mod1) тоже выводились новости?
<?
$mod=isset($_GET['mod'])? $_GET['mod']: NULL;
if (($_SERVER['QUERY_STRING']== NULL) || ($mod == 'mod1'))
{
echo '<br/> выводятся новости';
}
else
{
switch ($mod)
{
case 'mod2': echo '<br/> выполняем действие 1'; break;
case 'mod3': echo '<br/> выполняем действие 2'; break;
case 'mod4': echo '<br/> выполняем действие 3'; break;
}
}
|
а в обще,желательно избегать нескольких (внутренних)ссылок на один и тот-же документ в пределах сайта | |
|
|
|
|
|
|
|
для: serjinio
(12.09.2009 в 12:15)
| | >а в обще,желательно избегать нескольких (внутренних)ссылок на один и тот-же документ в пределах сайта
Почему? | |
|
|
|
|
|
|
|
для: Николай2357
(12.09.2009 в 16:17)
| | можно сделать так:
<?php
if (1 == true) {
if (0 == false) {
// выводим новости
} else {
// выводим погоду
}
} else {
// тоже выводим новости
}
?>
|
Но ведь согласитесь, это даже выглядит не очень-то. Если другого способа нет - то придется делать так. Но если можно сделать так, чтобы вывод новостей был только в одном месте кода – это намного удобнее и логичнее | |
|
|
|
|
|
|
|
для: Николай2357
(12.09.2009 в 16:17)
| | НЕ совсем правильно написал..это касается ссылок навигации ..но не касается ссылок внутри документ--другой документ.. | |
|
|
|