Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Корзина на сессиях работает при register_global=on, при register_global off не хочет 
V
    Опции темы
SelenIT
Дата 27.3.2007, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



americanets, говорят же Вам - используйте foreach... тут же не простой массив, а ассоциативный:
Код

if (!empty($_POST['update'])) {
    $vars = get_defined_vars();
    foreach ($vars as $key => $val)
    if ($val>0) {
    foreach ($_SESSION['counts'] as $id => $count) {
        if ($id == str_replace("count_","",$key)) {
            $_SESSION['counts'][$id] = $val;
        }
    }
}

Еще совет на будущее: при отладке используйте var_dump (в данном случае - $_SESSION['counts']), чтобы увидеть, с какой структурой работаете...

Это сообщение отредактировал(а) SelenIT - 27.3.2007, 16:56


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
americanets
Дата 27.3.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



не обновляет , за совет спасибо 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
SelenIT
Дата 27.3.2007, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



а в $vars из ф-ции get_defined_vars точно попадает то, что надо?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
americanets
Дата 27.3.2007, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



не уверен, взял из корзины которая работает при register global on 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
SelenIT
Дата 27.3.2007, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



americanets, никогда не работайте с данными вслепую "на авось"! Всегда, если не уверены, делайте var_dump и смотрите, что там на самом деле!

Нужные Вам данные лежат в массиве $_POST. Можете сделать еще удобнее: заменить в форме
Код

     <td align=center><input type="text" name="count_<?= $r['id'] ?>" size=5   value="<?= $_SESSION['counts'][$r['id']] ?>"></td>

на
Код

     <td align=center><input type="text" name="count[<?= $r['id'] ?>]" size=5   value="<?= $_SESSION['counts'][$r['id']] ?>"></td>

а в скрипте - соответственно,
Код

$vars = get_defined_vars();

на
Код

$vars = $_POST['count'];



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
americanets
Дата 27.3.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



все работает, спасибо


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
Gannibal
Дата 1.9.2007, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: нет
Всего: 17



я так писал 

Код

function cart_add($cart_add, $id, $num = 1)
{
    $query = mysql_query("SELECT * FROM eshop_cart WHERE cart_id = '".$id."' AND cart_var = '".$cart_add."' LIMIT 1");
    $result = mysql_fetch_object($query);
    if($result->cart_var == $cart_add)
    {
     echo 'Товар есть в корзине! Показать <a href="?cart_show" title="Показать карзину" class="m">карзину</a>';
    }
    else
    {    
        mysql_query("INSERT INTO eshop_cart VALUES('$id', '$cart_add' , '$num')");        
        cart_show($id);
    }
}


где 

$cart_add - номер продукта, 
$id - hash пользователя который с помощью сессий передаёться 

Подключение сессий

Код

@session_start(); 
session_register("id");

if(!isset($_SESSION['id']))
{
  $_SESSION['id']=user_hash(getmicrotime(), $_SERVER['HTTP_USER_AGENT'], get_ip());
}


ну и осталась переменная

$num = 1 сколько или какое количество товара было передано в корзину

ну а если задаёться другое число то переписываеться вот так вот я делал




--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.