Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массив Сессии
 
 автор: Lex   (10.07.2010 в 21:56)   письмо автору
 
 

Здравствуйте. Помогите плиз. Нужна корзина для сайта на сессиях. Посмотрел темы подымались но не нашел подходящего ничего. В общем задача простая. Нужно в массив сессии записать id товара и количество. Если такового id нет в сессии то записываем.
Начал вот с этого

if( $doaction == "add" ) {
    
    $id = intval( $_GET['id'] );
    if( ! $id ) die( "Hacking attempt!" );
    
    $error = "";

if(is_array($_SESSION[shop_id'])) 

    if(!in_array($id, $_SESSION['shop_id'])) 
    { 
        $_SESSION['shop_id'][] = $id; 
    } 

else 

    $_SESSION['shop_id'] = array(); 
}
}

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

  Ответить  
 
 автор: sms-send   (10.07.2010 в 22:19)   письмо автору
 
   для: Lex   (10.07.2010 в 21:56)
 

// <?php
if( $doaction == "add" ) {
    
    
$id intval$_GET['id'] );
    if( ! 
$id ) die( "Hacking attempt!" );
    
    
$error "";

if(
is_array($_SESSION['shop_id'])) // "если массив" - но при первом обращении этого ключа не 
{                                  // существует, там явно не массив
    
if(!in_array($id$_SESSION['shop_id'])) 
    { 
        
$_SESSION['shop_id'][] = $id
    } 

else 
// переходит в блок "else"

    
$_SESSION['shop_id'] = array(); // где инициализируется новый пустой массив
}
}
--
// <?php
if( $doaction == "add" 
{
    
$id intval$_GET['id'] );        
    if( ! 
$id ) die( "Hacking attempt!" );        
    
$error "";
    if(!isset(
$_SESSION['shop_id']) || !is_array($_SESSION['shop_id']))
        
$_SESSION['shop_id'] = array();
    if(!
in_array($id$_SESSION['shop_id']))
        
$_SESSION['shop_id'][] = $id;
}

  Ответить  
 
 автор: sim5   (10.07.2010 в 22:22)   письмо автору
 
   для: Lex   (10.07.2010 в 21:56)
 

Так вы можете только вставлять товар, перезаписывать его, но не добавлять к существующему количеству еще, а тем более редактировать и удалять товар/товары из корзины.

  Ответить  
 
 автор: Lex   (12.07.2010 в 14:21)   письмо автору
 
   для: sim5   (10.07.2010 в 22:22)
 

спасибо заработало) только я совсем забыл про колличество товара как его добавить в этот массив а потом и достать при необходимости? Или для колличества делать такой же код?

  Ответить  
 
 автор: sim5   (12.07.2010 в 14:57)   письмо автору
 
   для: Lex   (12.07.2010 в 14:21)
 

Я вообще не представляю как вышепоказанное может быть корзиной. Здесь есть пример корзины на сессии, а тут продолжение, может пригодится.

  Ответить  
 
 автор: Lex   (12.07.2010 в 22:18)   письмо автору
 
   для: sim5   (12.07.2010 в 14:57)
 

Спасибо посмотрю)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования