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

Форум PHP

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

 

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

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

тема: Помогите разобраться. Если не трудно. Плиззз.
 
 автор: alex1111   (07.01.2012 в 22:35)   письмо автору
 
 

Вот исходный код страницы:

<?php
session_start
();

$OrderNo $_SESSION[OrderNo];
$OrderDate date('n/d/y');

 if (
$_POST[BuyButton]=="В корзину")
  {
  
$OrderItem $_GET[OrderItem];
$conn2 odbc_connect("meshoc""""");
$sqlCart "SELECT OrderNo,OrderItem FROM blocnot WHERE OrderNo = '$OrderNo'";
$rsCart odbc_exec($conn2,$sqlCart);
    
    while (
$row odbc_fetch_array($rsCart))
        {
            if (
$row[OrderNo] == $OrderNo && $row[OrderItem] == $OrderItem)
        {
                
$update true;
        
        }
    
        }
    
    if (!
$update)
    {
    
$sqlInsert "INSERT INTO blocnot (OrderNo,OrderItem,OrderDate,OrderQuantity) Values ('$OrderNo', '$OrderItem', '$OrderDate', 1)";
    
$rsInsert odbc_exec($conn2,$sqlInsert);
        }
      else
      {
      
      
$sqlUpdate "UPDATE blocnot SET OrderQuantity = OrderQuantity + 1 WHERE OrderNo ='$OrderNo' AND             
      OrderItem = '
$OrderItem'";
      
$rsUpdate odbc_exec($conn2,$sqlUpdate);
      }
         
odbc_close($conn2);
         
 

  }
?>
<?php header
('Content-type: text/html; charset=windows-1251');?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head><style type="text/css"><!--
body{margin:0px;padding:0px;}
-->
</style>
<title>Уход за волосами</title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="keywords" content="ключевые слова для поисковиков">
<meta name="description" content="описать коротко о чем сайт">

<link href="cascad.css" rel="stylesheet" type="text/css">
<link rel="SHORTCUT ICON" href="z/ico5.bmp" type="image/x-icon">
<script language="javascript">
function OverMouse(button)
{
  button.style.backgroundColor="lightgreen"
  button.style.color='darkgreen'
  button.style.cursor='hand'
}
function OutMouse(button)
{
  button.style.backgroundColor="seagreen"
  button.style.color='white'
}
</script>
</head>
<body>

<table border="0" cellspacing="0" cellpadding="10" align="center" bgcolor="#FAF5F0">
<tr>
<td colspan="2"></td>
</tr>

<tr>
<td><hr><img src="uhodzavolosami/1.jpg" align="left" style="margin-right:20px;" alt="product" height="200" width="180"><br>
<h4> Питательный шампунь</h4>

<form  method="post" action="?OrderItem=0043"> 
  <input type="submit" class="buttonL" name="BuyButton" value="В корзину"
    onMouseOver="OverMouse(this)"; onMouseOut="OutMouse(this)">
</form> 

<font color="red"> <b> 0.00 RUB</b></font>
&nbsp <a class="return" href="crasota.php">nazat</a>
</td>
<td height="" width="200"></td>
</tr>
<tr>
<td><hr><img src="uhodzavolosami/2.jpg" align="left" style="margin-right:20px;" alt="product" height="200" width="180"><br>
<h4> Увлажняющий кондиционер</h4>

<form  method="post" action="?OrderItem=0044"> 
  <input type="submit" class="buttonL" name="BuyButton" value="В корзину"
    onMouseOver="OverMouse(this)"; onMouseOut="OutMouse(this)">
</form> 

<font color="red"> <b> 0.00 RUB</b></font>
&nbsp <a class="return" href="crasota.php">nazat</a>
</td>
<td></td>
</tr>
<tr>
<td><hr><img src="uhodzavolosami/3.jpg" align="left" style="margin-right:20px;" alt="product" height="200" width="180"><br>
<h4> Шампунь 2-в-1</h4>

<form  method="post" action="?OrderItem=0045"> 
  <input type="submit" class="buttonL" name="BuyButton" value="В корзину"
    onMouseOver="OverMouse(this)"; onMouseOut="OutMouse(this)">
</form> 

<font color="red"> <b> 0.00 RUB</b></font>
&nbsp <a class="return" href="crasota.php">nazat</a>
</td>
<td></td>
</tr>

</table>
</body>


Когда я нажимаю кнопку "В корзину" посылается переменная "OrderItem" на обработку в php сценарии, от туда данные записываются в базу данных. При этом перезагружается страница, если после этого отменить действие при помощи кнопки браузера то он посылает еще одну переменную
"OrderItem" на обработку в результате чего в корзину отправляться 2 товара.
Подскажите пожалуйста как сделать так чтоб при нажатие кнопки "В корзину" страница не перегружалась а товар добавлялся в корзину.
Заранее спасибо!

  Ответить  
 
 автор: Slo_Nik   (07.01.2012 в 23:13)   письмо автору
 
   для: alex1111   (07.01.2012 в 22:35)
 

Попробуйте делать редирект на страницу с формой или на любую другую подходящую страницу, тогда не должны повторно добавляться данные в базу данных.
чтобы обойтись без перезагрузки страницы используйте ajax

  Ответить  
 
 автор: alex1111   (08.01.2012 в 16:28)   письмо автору
 
   для: Slo_Nik   (07.01.2012 в 23:13)
 

Спасибо. Приступил к изучению ajax. Оказывается там не все так просто.

  Ответить  
 
 автор: cheops   (08.01.2012 в 16:32)   письмо автору
 
   для: alex1111   (08.01.2012 в 16:28)
 

Уже когда имеется смесь двух технологий, не просто.
HTML + CSS
PHP + HTML
JavaScript + HTML
а когда таких технологий объединяется 3-4, а на заднем плане маячит пятая и шестая, все становится совершенно не просто.

  Ответить  
 
 автор: elenaki   (08.01.2012 в 17:38)   письмо автору
 
   для: cheops   (08.01.2012 в 16:32)
 

не обращайтесь к jquery, если не хотите запутться окончательно.

  Ответить  
 
 автор: cheops   (08.01.2012 в 18:05)   письмо автору
 
   для: elenaki   (08.01.2012 в 17:38)
 

Не знай... все ж эта библиотека более логично спроектирована и хотя бы пытается себя вести одинаково во всех браузерах в отличие от винигрета различных JavaScript-реализаций. Все-таки следует на неё ориентироваться, может так статься... что через пару поколений браузеров, это будет полноценный язык, вшитый в сам браузер. Мне покрайней мере пока такой тренд видится.

  Ответить  
 
 автор: elenaki   (08.01.2012 в 18:08)   письмо автору
 
   для: cheops   (08.01.2012 в 18:05)
 

а мне надоело разбирать конфликты между разными версиями. ради 5 строчек кода, которые нужны, нафик тянуть всю библиотеку.

  Ответить  
 
 автор: cheops   (08.01.2012 в 18:16)   письмо автору
 
   для: elenaki   (08.01.2012 в 18:08)
 

Да есть такое дело, но конфликты уйдут со временем, не будет бесконечного взрывного роста. Когда версии устаканятся, библиотека скорее всего будет встроена в браузер и тянуть ничего не придется. Недостатки есть, но они решаемы и лечатся временем. Вот если Smarty имеет фундаментальные недостатки, которые не исправить, то в случае jQuery - это скорее болезни роста, еще пару лет и их не будет, а будет зубастая жизнеспособная технология.

PS Нутром чую, что только расти будет jQuery (очень удачно подобран интерфейс к декларативной задаче и вообще к DOM), поэтому лучше начинать любить эту библиотеку :))), какой бы ужасной она не казалась на сегодняшний день. Я напомню, что DirectX и C# в первых версиях тоже не блистали, а сейчас ого-го...

  Ответить  
 
 автор: Slo_Nik   (08.01.2012 в 16:33)   письмо автору
 
   для: alex1111   (08.01.2012 в 16:28)
 

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

  Ответить  
 
 автор: alex1111   (09.01.2012 в 19:20)   письмо автору
 
   для: Slo_Nik   (08.01.2012 в 16:33)
 

Как только разберусь обязательно напишу. Надеюсь...

  Ответить  
 
 автор: alex1111   (03.02.2012 в 01:04)   письмо автору
 
   для: alex1111   (09.01.2012 в 19:20)
 

Наконец-то разобрался. Не без помощи добрых людей этого форума и jQuery. Работать с ней очень легко если изучить досконально.

  Ответить  
 
 автор: nmahkamov   (04.02.2012 в 11:35)   письмо автору
 
   для: alex1111   (03.02.2012 в 01:04)
 

Так, если вы изучили jquery, тогда Вам советую изучить и json. Потому что, если объединить php+jquery+json получится очень мощная штука. ИМХО.

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

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