[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не присваеваются переменные!
Joliat
Привет всем. делаю обработчик, для выделения стиля ссылки на странице которой находится пользователь, но у меня не присваивается значение переменной:

 <?
$url = $_SERVER['REQUEST_URI'];
if($url == $row['pid'])
{$url1 = "menu1";}
else
{$url1 = "menu2";}
?>
<a class="<?=$url1?>" href="/programms/?id=<?=$row['pid']?>"><?=ss($row['title'])?></a>


почему в <a class="" не поступает значение $url1 ? но если поставить переменую $url, то она нормально отображает путь к странице

ломаю голову сутки. у кого какие предложения?



Спустя 8 минут, 55 секунд (10.07.2010 - 00:02) DedMorozzz написал(а):
распечатай переменную юрл1. Посмотри что в ней

Спустя 4 минуты, 12 секунд (10.07.2010 - 00:06) Joliat написал(а):
Пусто. когда смотрю страницу после загрузки класс имеет такой вид
class=""
при
class="<?=$url1?>"

или
class="<?php echo $url1?>"

Спустя 5 минут, 23 секунды (10.07.2010 - 00:12) DedMorozzz написал(а):
не верю. Кидай весь код. Ты в явном виде объявляешь переменую ЮРЛ1. Там так иль иначе будет какое-либо значение. Не может быть пустой. Кидай весь участок этого кода.

Спустя 4 минуты, 32 секунды (10.07.2010 - 00:16) Joliat написал(а):


function programms(){

global $db, $pginfo;

ob_start();

$pid = intval($_COOKIE['openprog']);

$res = $db->sql_query("SELECT pid, title FROM ".TABLE_PREFIX."shop_programms WHERE parentid='0' && status='1'");

if($db->sql_numrows($res)>0){

while($row = $db->sql_fetchrow($res)){

?><!--<img class="menu_img" id="pluss_<?=$row['pid']?>" src="/_tpl/default/img/icn/img_m<?=iif($cid==$row['pid'],'','2')?>.jpg">--><?

$ress = $db->sql_query("SELECT pid, title FROM ".TABLE_PREFIX."shop_programms WHERE parentid='".$row['pid']."' && status='1'");

if($db->sql_numrows($ress)>0){

?> <a class="mnu" onclick="return tglProgmenu('<?=$row['pid']?>');"><?=ss($row['title'])?></a><br /><?

?>
<div style="DISPLAY: <?=iif($cid==$row['pid'],"block","none")?>" id="prog_<?=$row['pid']?>"><ul style="margin:0 0 0 10px;"><?

while($rows = $db->sql_fetchrow($ress)){ ?><li><a href="/programms/?id=<?=$rows['pid']?>"><?=ss($rows['title'])?></a></li><? }

?></ul></div><br /><?

}else{

?>
<?

$url = $_SERVER['REQUEST_URI'];
if($url == $row['pid'])
{$url1 = "menu1";}
else
{$url1 = "menu2";}
?>
<a class="<?=$url1?>" href="/programms/?id=<?=$row['pid']?>"><?=ss($row['title'])?></a>

<
br/><br><?
}
}
}

$text = ob_get_contents();
ob_end_clean();
return $text;
}


Дело в том, что cms - самописка (писал не я). Это один из ее файлов. Вот решил доработать. Столкнулся с такой проблемой.

Спустя 2 минуты (10.07.2010 - 00:18) Joliat написал(а):
кстати, знаний у меня не много в PHP. возможно что-то упускаю

Спустя 4 минуты, 39 секунд (10.07.2010 - 00:23) DedMorozzz написал(а):
ух портняка smile.gif весь УЧАСТОК того(!) кода smile.gif А не всё, что увидил)

Спустя 6 минут, 23 секунды (10.07.2010 - 00:29) Joliat написал(а):
))) сорри. отредактировал предыдущие сообщение))

Спустя 12 минут, 45 секунд (10.07.2010 - 00:42) DedMorozzz написал(а):
Цитата
   }else{
 
?>
  <?
$url = $_SERVER['REQUEST_URI'];
if($url == $row['pid'])
{$url1 = "menu1";}
тут напиши так:
echo $url = $_SERVER['REQUEST_URI']."<br />"; echo $url1="aaa";die;
т.е. просто добавь. И покажи что выдаст. Гляну уже завтра с утра. Нынче спать

Спустя 4 часа, 23 минуты, 20 секунд (10.07.2010 - 05:05) Joliat написал(а):
Чистая страница, а в верхнем левом углу
____________________________
| ааа
|
|
|


Кроме "ааа" - ничего!

Спустя 4 часа, 28 минут, 2 секунды (10.07.2010 - 09:33) DedMorozzz написал(а):
Начит условие после ЕЛСЕ выполняется, но у тебя переменная ЮРЛ - пустая. ВОт отсюда и копай. Хотя всё равно ЮРЛ1 должно быть со сначением

Спустя 14 часов, 33 минуты, 12 секунд (11.07.2010 - 00:07) Joliat написал(а):
Извини, проверял утром в 5 часов и из-за того что сонный был, не увидел echo первое.
вот что получается если вставить, все, что ты предлогаешь

/programms/?id=1
aaa

Спустя 30 минут, 2 секунды (11.07.2010 - 00:37) Basili4 написал(а):
отключены короткие теги все <? замени на <?php

а <?= замени на <?php echo

Спустя 8 часов, 52 минуты, 1 секунда (11.07.2010 - 09:29) Joliat написал(а):
Basili4, не помогло!(( все так же ничего не выводит

Спустя 44 минуты, 54 секунды (11.07.2010 - 10:14) Basili4 написал(а):

<?php
$url = $_SERVER['REQUEST_URI'];
if($url == $row['pid'])
{$url1 = "menu1";}
else
{$url1 = "menu2";}
?>
<a class="<?php echo $url1?>" href="/programms/?id=<?php echo $row['pid']?>"><?php echo ss($row['title'])?></a>


Переписать на это

<?php
$url = $_SERVER['REQUEST_URI'];
if($url == $row['pid'])
{$url1 = "menu1";}
else
{$url1 = "menu2";}
echo <a class=\"$url1\" href=\"/programms/?id=$row['pid']\"> ss($row['title'])</a>;
echo "
($url1)";
?>



смотри что выводит


Спустя 3 минуты, 34 секунды (11.07.2010 - 10:17) DedMorozzz написал(а):
Цитата
отключены короткие теги все <? замени на <?php

а <?= замени на <?php echo
и
Цитата
Пусто. когда смотрю страницу после загрузки класс имеет такой вид
class=""
при
class="<?=$url1?>"

или
class="<?php echo $url1?>"
грит о том, что дело не в них smile.gif

Спустя 3 минуты, 53 секунды (11.07.2010 - 10:21) Basili4 написал(а):
а как же он тагда вот эту фигушку выводит

/programms/?id=1
aaa

значит есть значние в $url

Спустя 2 минуты, 45 секунд (11.07.2010 - 10:24) DedMorozzz написал(а):
мммм ну всё работает нормально, должно быть значение. но попробуй написать так : $url =url_decode($_SERVER['REQUEST_URI']); хотя врядли...но всё же

Спустя 19 минут, 33 секунды (11.07.2010 - 10:43) Joliat написал(а):
Parse error: syntax error, unexpected T_VARIABLE

ИТС НО ГУД)))

Спустя 8 минут, 31 секунда (11.07.2010 - 10:52) Joliat написал(а):
при $url =url_decode($_SERVER['REQUEST_URI']); опять же - ничего! Я просто в шоке!

Спустя 17 минут, 28 секунд (11.07.2010 - 11:09) DedMorozzz написал(а):
Быть того не может что не работает. Возьми этот участок кода и перепиши. Не скопируй, а перепиши.

Спустя 9 минут, 24 секунды (11.07.2010 - 11:19) Joliat написал(а):
Смотри, как я сделал. поместил всю "процедуру" в класс

		<a class="<?php 
$url = $_SERVER['REQUEST_URI'];
if(
$url == $row['pid'])
{
$url1 = "menu1";
echo
$url1;}
else
{
$url1 = "menu2";
echo
$url1;}
?>"" href="
/programms/?id=<?=$row['pid']?>"><?=ss($row['title'])?></a>



И сейчас начало выводить <a class="menu2" , но нет нигде menu1.

Рад какому-то прогрессу, но без работы первого условия этот прогресс бесполезен. Что теперь делать? как проверить?

Получается:
1)переменной url присваивается адрес страницы, на которой находимся (/programms/?id=1)
2)сверяем url s row[pid] (т.е. с "1") как сюда дописать "/programms/?id=" ?

Вот почему не выполняется первое условие

Спустя 8 минут, 35 секунд (11.07.2010 - 11:27) DedMorozzz написал(а):
юзай PHP_SELF!

Спустя 6 минут, 56 секунд (11.07.2010 - 11:34) Joliat написал(а):
Мммм... Как это?
напомню, что я практически не знаю PHP. Помоги, если не сложно.

Спустя 11 минут (11.07.2010 - 11:45) Joliat написал(а):
УРРРРРРРРРРРРРРРРРААААААААА!
Спасибо за помощь, я разобрался, все работает! вот код:

<a class="<?php
$url = $_SERVER['REQUEST_URI'];
$urls = "/programms/?id=";
if(
$url == $urls.$row['pid'])
{
$url1 = "menu1";
echo
$url1;}
else
{
$url1 = "menu2";
echo
$url1;}
?>"" href="
/programms/?id=<?=$row['pid']?>"><?=ss($row['title'])?></a>


DedMorozzz
, карма +1!


_____________
О-о-о-о-о-очень начинающий...
Быстрый ответ:

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