X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Нужна помощь по Php
lostprophet
lostprophet
Topic Starter сообщение 9.6.2010, 16:23; Ответить: lostprophet
Сообщение #1


Топовый постер
*******

Группа: Super Moderator
Сообщений: 2567
Регистрация: 18.11.2008
Из: Ростов-на-Дону
Поблагодарили: 3172 раза
Репутация:   292  


Доброго времени суток, форумчане.

Прошу совета по php.
Дело вот в чем: Joomla+VirtueMart, в массиве сессии передаются следующие данные:
$auth:      Array ( [show_prices] => 1 [user_id] => 64 [username] => shop [perms] => shopper [first_name] => Вадим [last_name] => Завг [shopper_group_id] => 8 [shopper_group_discount] => 3.00 [show_price_including_tax] => 0 [default_shopper_group] => 0 [is_registered_customer] => 1 [country] => RUS [zip] => )


Нужно сделать условие, которое работает с shopper_group_id. Вот что получилось у меня:
<?php //show summ of discount for group users
if ( $auth['shopper_group_id'] == 10 ) {
$dis = 'Ваша скидка 10%<br />';
} elseif ( $auth['shopper_group_id'] == 9 ) {
$dis = 'Ваша скидка 5%<br />';
} elseif ( $auth['shopper_group_id'] == 8 ) {
$dis = 'Ваша скидка 3%<br />';
} else {
$dis = 'Ваша скидка 0%<br />';
}
?>
<?php echo $dis . " " . '<a href="/discont" target="_blank">подробнее</a>' ?>

где 10, 9 и 8 - это группы пользователей.

Проблема в том, что выводится "Ваша скидка 0%", то есть else {
$dis = 'Ваша скидка 0%<br />' ;
}


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WebAction
WebAction
сообщение 9.6.2010, 16:36; Ответить: WebAction
Сообщение #2


Топовый постер
*******

Группа: Super Moderator
Сообщений: 3059
Регистрация: 18.11.2009
Поблагодарили: 2512 раз
Репутация:   249  


Попробуйте:

echo $auth['shopper_group_id'];

что бы убедится, что группа пользователей передана.

Моя ася 14семь75один, стоит антиспам. Постараюсь помочь.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
lostprophet
lostprophet
Topic Starter сообщение 9.6.2010, 16:46; Ответить: lostprophet
Сообщение #3


Топовый постер
*******

Группа: Super Moderator
Сообщений: 2567
Регистрация: 18.11.2008
Из: Ростов-на-Дону
Поблагодарили: 3172 раза
Репутация:   292  


WebAction, Вас сейчас нет в сети? Стучу - ответа нет.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Strange
Strange
сообщение 9.6.2010, 16:48; Ответить: Strange
Сообщение #4


Частый гость
**

Группа: User
Сообщений: 84
Регистрация: 4.8.2009
Из: УШЕЛ
Поблагодарили: 28 раз
Репутация:   7  


А если так - if (!$auth['shopper_group_id'] == 10 )

в начале стоит session_start(); ?

Сообщение отредактировал Strange - 9.6.2010, 16:52


--------------------
МЕНЯ НЕТ


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
lostprophet
lostprophet
Topic Starter сообщение 9.6.2010, 18:17; Ответить: lostprophet
Сообщение #5


Топовый постер
*******

Группа: Super Moderator
Сообщений: 2567
Регистрация: 18.11.2008
Из: Ростов-на-Дону
Поблагодарили: 3172 раза
Репутация:   292  


Проблема частично решена, оказывается данные передаются в пределах компонента (VirtueMart), а в модуль, даже при подключении нужных файлов не передаются, а выводить нужно в модуле... Блин, ненавижу VirtueMart))))

Есть предложения у кого?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Strange
Strange
сообщение 9.6.2010, 18:29; Ответить: Strange
Сообщение #6


Частый гость
**

Группа: User
Сообщений: 84
Регистрация: 4.8.2009
Из: УШЕЛ
Поблагодарили: 28 раз
Репутация:   7  


Что значит не передаются? у Вас же сессия, как она не передается, она же хранится, и при ее вызове Вы должны получить все что в ней записано.


--------------------
МЕНЯ НЕТ


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
UncleM
UncleM
сообщение 9.6.2010, 18:30; Ответить: UncleM
Сообщение #7


Бывалый
****

Группа: Banned
Сообщений: 436
Регистрация: 17.8.2008
Поблагодарили: 157 раз
Репутация:   37  


session_start(); должно быть в самом верху скрипта и на каждой странице, куда происходит перенаправление запросов.

Видно где-то теряется ID сессии.


--------------------
Осторожно! Вы можете получить огромный заряд позитива!


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
lostprophet
lostprophet
Topic Starter сообщение 9.6.2010, 19:16; Ответить: lostprophet
Сообщение #8


Топовый постер
*******

Группа: Super Moderator
Сообщений: 2567
Регистрация: 18.11.2008
Из: Ростов-на-Дону
Поблагодарили: 3172 раза
Репутация:   292  


Вот теперь проблема решена
Может кому понадобится - вывод скидки пользователя в стандартный модуль авторизации VirtueMarta

<?       // показываем скидку пользователю
if ( $_SESSION['auth']['shopper_group_id'] == 10 ) {
$dis = 'Ваша скидка 10%<br />';
} elseif ( $_SESSION['auth']['shopper_group_id'] == 9 ) {
$dis = 'Ваша скидка 5%<br />';
} elseif ( $_SESSION['auth']['shopper_group_id'] == 8 ) {
$dis = 'Ваша скидка 3%<br />';
} else {
$dis = 'Ваша скидка 0%<br />';
}
echo $dis . " " . '<a href="/discont" target="_blank">подробнее</a>'; ?>


Соотвествено, id групп и размер скидок поставить свои.

Спасибо WebAction и Strange и всем отписавшимся за помощь.

Сообщение отредактировал lostprophet - 9.6.2010, 19:17


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DeimosFobos
DeimosFobos
сообщение 9.6.2010, 19:55; Ответить: DeimosFobos
Сообщение #9


Участник
***


Группа: User
Сообщений: 170
Регистрация: 30.4.2010
Из: www
Поблагодарили: 80 раз
Репутация:   25  


Сор, что лезу не в свое дело, просто не люблю столько elseif)))
$auth = $_SESSION['auth'];
$idarr = array( "10" => "10", "9" => "5", "8" => "3" );
$dis = isset( $idarr[$auth['shopper_group_id']] ) ? $idarr[$auth['shopper_group_id']] : 0;
echo 'Ваша скидка ' .$dis .'%<br /><a href="/discont" target="_blank">подробнее</a>';


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
lostprophet
lostprophet
Topic Starter сообщение 9.6.2010, 20:01; Ответить: lostprophet
Сообщение #10


Топовый постер
*******

Группа: Super Moderator
Сообщений: 2567
Регистрация: 18.11.2008
Из: Ростов-на-Дону
Поблагодарили: 3172 раза
Репутация:   292  


Тоже спасибо, пригодится.
Просто я чайник в php и массивы у меня вызывают приступы панического страха))


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужны услуги php-разработчика, бартером за дизайн
вы мне скрипт, я вам дизайн
0 Caterpillar 219 Вчера, 23:15
автор: Caterpillar
Открытая тема (нет новых ответов) Безвозмездная помощь в социальных сетях
Инвайты, посты, репосты, лайки и тп
9 PostBrigada 2300 16.12.2017, 15:47
автор: WildWeb8
Открытая тема (нет новых ответов) Нужна помощь в активации аккаунта AdSense
10 dimaguru 2609 15.12.2017, 11:12
автор: Ley
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 661 13.12.2017, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3485 12.12.2017, 13:32
автор: qpPeW


 



RSS Текстовая версия Сейчас: 18.12.2017, 11:26
Дизайн