Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Корзина для инет-магазина


Автор: Avtor 11.10.2006, 13:47
Пишу что-то вроде этого:
Код

session_start(); 
//require_once('admin/util/detect_sesip.php');
$id_tovar = htmlspecialchars(stripslashes(trim($_POST['id_tovar'])));
$arr_basket = array();
$arr_basket = $_SESSION['arr_basket']; 
$i = 0;
if (sizeof($arr_basket) > 0)
  $i = sizeof($arr_basket);
if (!empty($id_tovar))   
  $arr_basket[$i] = $id_tovar;                
$_SESSION['arr_basket'] = $arr_basket;  

Но при обновлении страницы товар будет также заноситься в сессии и пользователь, обновляя корзину, будет с удивлением обнаруживать увеличение товаров. Помогите решить проблему. 

Автор: Drache 11.10.2006, 13:57
перенаправляй на другую страницу после выполнения этого куска скрипта.

Автор: Avtor 11.10.2006, 14:02
Просто не хотелось бы лишних переходов, лишних мерцаний. Может есть какие-то другие варианты? Может что-то в коде поменять?

Автор: SamDark 11.10.2006, 14:40
Avtor, 
Засунь в сессию некоторый id, который передаётся GET-ом со ссылки "Добавить в корзину" и генериться каждый раз при выводе списка товаров. Далее просто проверяй совпадение id в сессии и id в GET. Не совпали - добавляем в корзину.

Автор: Avtor 12.10.2006, 14:45
SamDark, спасибо за помощь.

Автор: R.M. 13.10.2006, 08:57
Цитата(Avtor @  11.10.2006,  15:02 Найти цитируемый пост)
Просто не хотелось бы лишних переходов, лишних мерцаний.

Используй Ajax. И мерцаний не будет и пользователи будут щасливы smile

Автор: Drache 13.10.2006, 09:56
ну не знаю. мерцаний там не так уж и много, а этим приемом много кто пользуется и успешно.
но вам выбирать конечно smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)