Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Подскажите по коду
цитата
10/05/12 в 08:33
 densa
Сейчас тайтл страницы формируется так

<title><?php echo $title_bar." - ".$title_desc.$pagedisplay;?></title>

я хочу что бы для главной был
<title><?php echo $title_bar ?></title>
для отсальных

<title><?php echo $title_desc.$pagedisplay;?></title>

пишу

<?php
if($_SERVER['REQUEST_URI'] == '/'){
<title> echo "$title_bar"; </title>
}else{
<title> echo "$title_desc.$pagedisplay";</title>
}
?>

Не работает, подскажите где ошибка
цитата
10/05/12 в 08:52
 st01en
densa: Сначала проверь, чо у тебя там в $_SERVER['REQUEST_URI']

echo $_SERVER['REQUEST_URI'];
цитата
10/05/12 в 09:02
 densa
вот это вернуло
/
цитата
10/05/12 в 09:06
 Vyacheslav
Попробуй сначала протестировать для корня домена и для остальный страниц текущий echo $_SERVER['REQUEST_URI']; Катина станет яснее.
Возможно тебе нужно что-то вроде:
Код:
<?php
if(!$_SERVER['REQUEST_URI']){
<title>echo "$title_desc.$pagedisplay";</title>
}else{
<title>echo "$title_bar";</title>
}
?>
цитата
10/05/12 в 09:08
 Vyacheslav
Ещё вариант, используй вместо "==" - "==="
цитата
10/05/12 в 09:51
 densa
Vyacheslav писал:

Возможно тебе нужно что-то вроде:
Код:
<?php
if(!$_SERVER['REQUEST_URI']){
<title>echo "$title_desc.$pagedisplay";</title>
}else{
<title>echo "$title_bar";</title>
}
?>


Не работает
цитата
10/05/12 в 10:00
 samedi
Код:
<title>
<?php
if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php') {
    echo $title_bar;
} else {
    echo $title_desc . $pagedisplay;
}
?>
</title>


Последний раз редактировалось: samedi (10/05/12 в 10:04), всего редактировалось 1 раз
цитата
10/05/12 в 10:03
 Alexandur
Может лучше
Код:
isset($_SERVER['QUERY_STRING'])

?
цитата
10/05/12 в 10:12
 samedi
gimcnuk писал:
Может лучше
Код:
isset($_SERVER['QUERY_STRING'])

?


Может не работать с permalinks.
цитата
10/05/12 в 10:22
 densa
samedi писал:
Код:
<title>
<?php
if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php') {
    echo $title_bar;
} else {
    echo $title_desc . $pagedisplay;
}
?>
</title>


Отлично, то что надо. Спасибо большое
цитата
10/05/12 в 11:50
 Emperor
а не проще написать if($_SERVER['PHP_SELF'] === '/index.php') ? icon_smile.gif
цитата
10/05/12 в 12:11
 AWD
Emperor писал:
а не проще написать if($_SERVER['PHP_SELF'] === '/index.php') ? icon_smile.gif
браво! icon_biggrin.gif
только предлагаю еще на байт укоротить, не "===" а "==", ты ведь не сравниваешь возможный FALSE с, например, пустой строкой '', ибо
(FALSE == '') вернет TRUE
(FALSE === '') вернет FALSE
а в случае с явно указанной строкой ни к чему три знака равенства icon_rolleyes.gif
цитата
10/05/12 в 12:42
 samedi
Emperor писал:
а не проще написать if($_SERVER['PHP_SELF'] === '/index.php') ? icon_smile.gif


Не проще. Не будет работать example.com/index.php?page_id=2 example.com/category/second
цитата
10/05/12 в 12:44
 samedi
AWD писал:
браво! icon_biggrin.gif
только предлагаю еще на байт укоротить, не "===" а "==", ты ведь не сравниваешь возможный FALSE с, например, пустой строкой '', ибо
(FALSE == '') вернет TRUE
(FALSE === '') вернет FALSE
а в случае с явно указанной строкой ни к чему три знака равенства icon_rolleyes.gif


Только предлагаю вообще условие удалить, так как в файле index.php код будет выполняться всегда.
цитата
10/05/12 в 12:58
 AWD
samedi писал:
Только предлагаю вообще условие удалить, так как в файле index.php код будет выполняться всегда.
согласен, ступил. по диагонали читал и забыл про квери_стринг icon_smile.gif
тогда
if ($_SERVER['PHP_SELF'] == '/index.php' && !$_SERVER['QUERY_STRING'])
....
все равно укоротил. вот так меня сегодня шмаль вставила - укорачивать длинное smail101.gif
цитата
10/05/12 в 13:00
 Emperor
samedi писал:
Не будет работать example.com/index.php?page_id=2


почему не будет? у меня работает icon_smile.gif
цитата
10/05/12 в 13:03
 Emperor
AWD писал:
а в случае с явно указанной строкой ни к чему три знака равенства icon_rolleyes.gif


http://www.php.net/manual/ru/language.operators.comparison.php

Цитата:
$a === $b Тождественно равно TRUE если $a равно $b и имеет тот же тип.

мы же строку со строкой сравниваем, не?
цитата
10/05/12 в 13:15
 AWD
Emperor писал:
мы же строку со строкой сравниваем, не?
я же говорил, сегодня у меня манечка укорачивать smail101.gif
вообще ты прав, и === выполняется в ~1,5 раза быстрее, чем ==, ибо не происходит проверка и или/приведение типов.
просто, я как старый сишник пишу ==, вот и выё... icon_redface.gif
исчезаю... icon_rolleyes.gif
цитата
10/05/12 в 19:51
 samedi
Emperor писал:
почему не будет? у меня работает icon_smile.gif


Потому что index.php может выполняться не только при обращении к главной странице.
цитата
10/05/12 в 20:37
 AWD
samedi писал:
Потому что index.php может выполняться не только при обращении к главной странице.
по ходу все эти пережовывания ни к чему.
твой вариант единственно верный и почти универсальный, за исключением случаев, когда индексная страница называется по другому (ну, там, main.php). я, вот, не знаю способа, как из пхп узнать DirectoryIndex. icon_redface.gif


Эта страница в полной версии