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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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

Прошу совета по 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
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
 
Открыть тему
Ответов (1 - 9)
WebAction
WebAction
сообщение 9.6.2010, 16:36; Ответить: WebAction
Сообщение #2


Попробуйте:

echo $auth['shopper_group_id'];

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

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


--------------------
--тут может быть ваша реклама--


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


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


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


А если так - 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


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

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


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


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


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


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


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

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


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


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


Вот теперь проблема решена
Может кому понадобится - вывод скидки пользователя в стандартный модуль авторизации 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


Сор, что лезу не в свое дело, просто не люблю столько 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


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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Требуется помощь по сайту на "ВордПресс"
Закрылся доступ в панель администратора
15 Tia2 2333 Вчера, 0:54
автор: diviner99
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыСостояние после ампутации - нужна помощь
благотворительный топик
49 vitvirtual 5866 1.4.2024, 5:23
автор: vitvirtual
Открытая тема (нет новых ответов) Нужна ли плоская структура категорий в ИМ?
1 noviktamw 1170 26.3.2024, 21:50
автор: c4p1t4l15t
Открытая тема (нет новых ответов) требуется помощь с themasoftware (Темапостером)
0 Taylor 620 16.3.2024, 18:41
автор: Taylor
Открытая тема (нет новых ответов) Нужна рассылка по емаил базе сео-студий
0 kasey7 681 2.3.2024, 23:13
автор: kasey7


 



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