Перейти к содержанию
m807ae

Вывод текста на определенный страницах

Рекомендуемые сообщения


кажется простая задача, написал 

<?php  $linkPage = '/index.php?route=product/category&path=25'; ?>

<?php  if ($_SERVER['REQUEST_URI']==$linkPage) { ?>

 <div id="dostavka"> да </div>

<?php } else { print "нет";} ?>

а не работает


 

Смотрю пошагово, вывожу переменные на экран. 

<?php $ThisPage = $_SERVER['REQUEST_URI'];  ?>

</br>

<?php  $linkPage = '/index.php?route=product/category&path=25'; ?>

<?php  echo gettype($ThisPage); ?>  

<?php  echo gettype($ThisPage); ?>

</br>

<?php echo $ThisPage; ?>

</br>

<?php echo $linkPage; ?>

</br>

 <?php  if ($ThisPage==$linkPage) { ?>

 <div id="dostavka"> да </div>

<?php } else { print "нет";} ?>

 

Типы одинаковые, на нужной странице текст тоже одинаковый, а ДА так и не появляется.

Подскажите пожалуйста, что не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы "да" на странице визуально не видите? Может в исходном коде он всё-таки появляется?

Попробуйте использовать стандартный для опенкарта вариант в контроллере $this->request->server['REQUEST_URI']

И от него уже плясать с выводом в шаблон

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оператор if проходит, и выводит каждый раз "нет"

При том что визуально на экране текст переменных выходит одинаковый.

пробовал сравнить строки при помощи strcmp, выдает что не равны. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

'/index.php?route=product/category&path=25

 

а вдруг здесь кириллица затесалась?

 

какая длина сравниваемых строк?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал через контролер тоже самое.

Кириллицы быть не может путь скопирован из браузера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Щас посмотрел длинны строк server['REQUEST_URI'] выдает на 45 а переменная 41, но почему на экране строки одинаковые выходят

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 server['REQUEST_URI']

 

есть кириллица?

Поменяй кодировку в браузере

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуй в редакторе сначала поставить кодировку utf-8 without BOM, а потом уже вставлять свой код

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то вы велосипед изобретаете.

<?php  if (($this->request->get['route'] == 'product/category') && ($this->request->get['path'] == '25')) { ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуй в редакторе сначала поставить кодировку utf-8 without BOM, а потом уже вставлять свой код

кодировка правильная, проверял

 

 

Что-то вы велосипед изобретаете.

<?php  if (($this->request->get['route'] == 'product/category') && ($this->request->get['path'] == '25')) { ?>

А как быть с главной и информационными или внутри продукта? На каждый тип вывода свой алгоритм писать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 server['REQUEST_URI']

 

есть кириллица?

Поменяй кодировку в браузере

Вроде нет. От смены кодировке в браузере характеристики строки не меняются

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

раскидал текст по буквам и вот что увидел запрос SERVER['REQUEST_URI'] отдает 4 лишних символа (с 34 по 37-й), но при выводе строки они не читаются и на экран не выходят.

0 / /
1 i i
2 n n
3 d d
4 e e
5 x x
6 . .
7 p p
8 h h
9 p p
10 ? ?
11 r r
12 o o
13 u u
14 t t
15 e e
16 = =
17 p p
18 r r
19 o o
20 d d
21 u u
22 c c
23 t t
24 / /
25 c c
26 a a
27 t t
28 e e
29 g g
30 o o
31 r r
32 y y
33 & &
34 a p
35 m a
36 p t
37 ; h
38 p =
39 a 2
40 t 5
41 h
42 =
43 2
44 5 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем спасибо разобрался. Так как SERVER['REQUEST_URI'] использует метод GET, amp; - говорит о том что & символ а не оператор.

Блин элементарная вещь, а стока промучился.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.