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

Форум PHP

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

 

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

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

тема: корзина покупателя
 
 автор: bittergas   (26.02.2009 в 03:22)   письмо автору
 
 

Здравствуйте программисты!
я пытаюсь сам написать небольшой сайт, на котором должна быть форма заказа, алгоритм примерно такой:
1. выведен постранично товар
2. под товаром кнопка (добавить в корзину), в которой, как минимум, задан код товара.
4. При нажатии кнопки:
4.1. записываем в cookies (на компьютере пользователя) код товара
4.2 выводится в блоке корзины число товаров.
каждый раз, когда пользователь открывает страницу сайта, программа
- "считывает" cookies, подсчитывает и выводит количество товара на странице.

я ещё хотел, если возможно, чтобы нагляднее было как товар добавляется, вставить этот код:


<html>
<head>
<style type="text/css">
.sel_items {margin: 0px;}
</style>
<script type="text/javascript">
<!-- //
toBuy = new Array();
Count = new Array(); 
bSumm = new Array();
function buy(item){
var tb = false;
for(i=0;i<toBuy.length;i++){
if(toBuy[i]==item){
tb = true;
break;
}}
if(!tb){
toBuy[toBuy.length] = item;
Count[Count.length] = 1;}
else{
Count[i]++;
}
if(!bSumm[item] && bSumm[item]!=0){
bSumm[item]=0;
document.getElementById("selected_items").innerHTML += "<p class='sel_items' id='s"+item+"'>"+document.getElementById(item).getAttribute("info")+" Кол-во: "+bSumm[item]+", <a style=\"cursor:pointer;\" onclick=\"unBuy('"+item+"')\">Убрать</a></p>";
}
bSumm[item]++;
document.getElementById("s"+item).innerHTML = document.getElementById(item).getAttribute("info")+" Кол-во: "+bSumm[item]+", <a style=\"cursor:pointer;\" onclick=\"unBuy('"+item+"')\">Убрать</a>";
document.getElementById("s"+item).style.display="";
}

function unBuy(item){
bSumm[item]--;
if(bSumm[item]==0){
document.getElementById("s"+item).style.display = "none";}else{
document.getElementById("s"+item).innerHTML = document.getElementById(item).getAttribute("info")+" Кол-во: "+bSumm[item]+", <a style=\"cursor:pointer;\" onclick=\"unBuy('"+item+"')\">Убрать</a>";
}
for(i=0;i<toBuy.length;i++){
if(toBuy[i]==item){
Count[i]--;
break;
}}}

function doBuy(){
if(Count.length>0){
for(i=0;i<toBuy.length;i++){
child = document.createElement("input");
child.type = "hidden";
child.name = "buyItem"+toBuy[i];
child.value = Count[i];
document.forms.dobuy.appendChild(child);
}
document.forms.dobuy.submit();
}else{
alert("Вы ничего не выбрали!");
}}

function page(url){
document.forms.other_page.action=url;
for(i=0;i<toBuy.length;i++){
child = document.createElement("input");
child.type = "hidden";
child.name = "buyItem"+toBuy[i];
child.value = Count[i];
document.forms.other_page.appendChild(child);
}
document.forms.other_page.submit();
}
// -->
</script>
</head>
<body>
<a onclick="page('magnitols.php');">Магнитолы</a> <a onclick="page('samolets.php')">Самолеты</a> <a onclick="page('chemodans.php')">Чемоданы</a>
<hr>
Ваши товары:<div id="selected_items"></div>

<hr>
Товары для покупки:<br>
<a onclick="buy(this.id)" id="i1" info="Товар номер один.">Товар номер 1</a><br>
<a onclick="buy(this.id)" id="i2" info="Товар номер два.">Товар номер 2</a><br>
<a onclick="buy(this.id)" id="i3" info="Товар номер три.">Товар номер 3</a><br>
<a onclick="buy(this.id)" id="i4" info="Товар номер четыре.">Товар номер 4</a><br>
<a onclick="buy(this.id)" id="i5" info="Товар номер пять.">Товар номер 5</a><br>
<hr>
<a onclick="doBuy()">Купить выбранные</a>
<form action="скрипт_покупки.php" method="post" name="dobuy" style="display:none;"></form>

<form method="post" name="other_page"></form>
</body>
</html>


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

помогите, кто понял мою мысль, пожалуйста!

  Ответить  
 
 автор: sim5   (26.02.2009 в 04:39)   письмо автору
 
   для: bittergas   (26.02.2009 в 03:22)
 

Не смотря код, могу сказать - будут отключены куки у пользователя, и кранты, не будет ни какой корзины. Делайте либо на сессии ее, либо в базе храните.
Из своей личной статистики (а статистике в мире тоже такая имеется), большая часть заказов делается с рабочего места, а на рабочих местах сидит очень большая "армия" потенциальных покупателей - женщин. Вы сперва попробуйте объяснить таким покупателям как включить куки. Если у вас получится это сделать сразу, значит я ошибся, и ваша корзина это удачный выбор, а если нет...

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

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