За последние 24 часа нас посетили 16740 программистов и 1613 роботов. Сейчас ищут 1316 программистов ...

Маленькая помощь по php

Тема в разделе "Сделайте за меня", создана пользователем php-newbie, 2 мар 2015.

  1. php-newbie

    php-newbie Новичок

    С нами с:
    23 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Здрасте. В общем есть маленькая ошибка. Пишу интернет магазин. При "покупке" любого товара кидает на index.php. Пробовал разные подходы — что-то не помогло.
    Вот код с Index.php:
    Код (Text):
    1. $view = empty($_GET['view']) ? 'index' : $_GET['view'];
    2.  
    3. switch ($view)
    4. {
    5.    
    6.     case ('add_to_cart'):
    7.         $id=$_GET['id'];
    8.         $add_item = add_to_cart($id);
    9.         $_SESSION['total_items']=total_items($_SESSION['cart']);
    10.         $_SESSION['total_price']=total_price($_SESSION['cart']);
    11.         header('Location: index.php?view=product&id='.$id);
    12.     break;
    А вот функция add_to_cart():
    Код (Text):
    1. function add_to_cart($id)
    2.     {
    3.         if (isset($_SESSION['cart'][$id]))
    4.          {
    5.             $_SESSION['cart'][$id]++;
    6.             return true;
    7.         }
    8.         else
    9.         {
    10.             $_SESSION['cart'][$id]=1;
    11.             return true;
    12.         }
    13.         return false;
    14.     }
    судя по всему, что-то не то со свитчом. Так вот вопрос: как можно реализовать эту схему только плюс ещё возможность запоминать предыдущую страницу и оставаться именно на ней после покупки.

    Поправочка: если у меня открыта, допустим, третья страница, то после покупки кидает на первую. Видимо оно не реагирует на переменные другие. Как в этом случае page и тд.
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    попробуйте / поставить перед адресом.

    Ну и в браузере в отладчике, посмотрите, какие заголовки приходят.
     
  3. php-newbie

    php-newbie Новичок

    С нами с:
    23 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Я как всегда лоханулся. Сорри за тупые вопросы. Всё решил заменой header('Location: index.php?view=product&id='.$id); на header('Location: '.$_SERVER['HTTP_REFERER'])
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    и чо делать если клиент в приватном режиме браузера?
     
  5. php-newbie

    php-newbie Новичок

    С нами с:
    23 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    делаю курсач, на звание пшп гуру не претендую.

    апдейт: только что на лисе проверил — всё работает идентично.
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    реферер это не тот заголовок которому можно доверять. и его банально могут отрезать. или подменить. тогда пользователя куда отправит?
     
  7. php-newbie

    php-newbie Новичок

    С нами с:
    23 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    я не думаю что мой препод будет этим заниматься.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    php-newbie препод просто снизит оценку
     
  9. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Ты считаешь препода тупее чем форумчане?)
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    зависит от задачи препода. ему может "хватить" такой реализации.

    об том я и говорил, когда говорил, что институт должен "учить" специалиста. А не на отъебись это делать.