Witam
Wykonałem formularz (do sklepu potrzebny do przyjęcia zamówienia) który w pole "value" wkleja dane zawarte na serwerze przypisane do tego pola
  1. <?php
  2. echo "<tr><td>Imie</td><td>";
  3. echo '<input type=text name = imie value = "'.$form_kasa_user_id['first_name'].'" maxlength = 40 size = 40>';
  4. echo "</td></tr>";
  5. ?>


  1. <?php
  2. echo "<tr><td>Nazwisko</td><td>";
  3. echo '<input type=text name = nazwisko value = "'.$form_kasa_user_id['last_name'].'" maxlength = 40 size = 40>';
  4. echo "</td></tr>";
  5. ?>


oraz element (pod spodem) który osoba może sama wypełnić jeżeli ma być inny niż powyższy

  1. <tr>
  2. <td>imie</td>
  3. <td><input type = text name = dos_imie value = "" maxlength = 40 size = 40></td>
  4. </tr>
  5.  
  6.  
  7. <tr>
  8. <td>Nazwisko</td>
  9. <td><input type = text name = dos_nazwisko value = "" maxlength = 40 size = 40></td>
  10. </tr>


Dodatkowo formularz powiązany jest z koszykiem . Czyli do wykonania zamówienia potrzebne są dane zawarte w koszyku(co osoba kupiła?) oraz je dane np imię ,nazwisko.
Problem polega na tym że jeżeli ta sama osoba kupuje ten sam produkt 3 razy to zamówienie jest w pełni przyjęte tylko za 1 razem za 2i 3 niestety nie(nie są podane informacje o zakupionym produkcie , nie został zapisany w bazie) . Tak się dzieje jeżeli wszystkie pola value( w tym przypadku 2: imię i nazwisko) w formularzu są pobierane z serwera. wszystko jest zapisane jeśli np imię pobierane jest z serwera a nazwisko wpisywane jest ręcznie przez stronę.

Podaję funkcje która zapisuje dane w bazie MYSQL:

  1. <?php
  2. function umiesc_zamowienie($szczegoly_zamowienia)
  3. {
  4. global $HTTP_SESSION_VARS;
  5.  
  6.  // wyciągnięcie szczegółów zamówienia jako zmiennych
  7. extract($szczegoly_zamowienia);
  8.  
  9.  
  10. // ustawienie adresu dostawy na taki sam jak adres klienta
  11. if(!$dos_imie&&!$dos_nazwisko)
  12. {
  13. $dos_imie = $imie; 
  14. $dos_nazwisko = $nazwisko;
  15.  
  16. }
  17.  
  18. $lacz = lacz_bd();
  19.  
  20. // wstawienie adresu klienta
  21. $zapytanie = "select idklienta from klienci where
  22. imie='$imie' and nazwisko='$nazwisko'";
  23. $wynik = mysql_query($zapytanie);
  24. if(mysql_numrows($wynik)>0)
  25.  
  26. $idklienta = mysql_result($wynik, 0, 'idklienta');
  27.  
  28. else
  29. return false;
  30. $zapytanie = "insert into klienci values
  31. ('', '$imie', '$nazwisko')";
  32. $wynik = mysql_query($zapytanie);
  33. if (!$wynik)
  34.  return false;
  35.  
  36. $zapytanie = "select idklienta from klienci where
  37. imie = '$imie' and nazwisko = '$nazwisko'";
  38. $wynik = mysql_query($zapytanie);
  39. if(mysql_numrows($wynik)>0)
  40. $idklienta = mysql_result($wynik, 0, 'idklienta');
  41. else
  42. return false; 
  43. $data = date('Y-m-d');
  44. $zapytanie = "insert into zamowienia values
  45. ('', $idklienta, ".$HTTP_SESSION_VARS['calkowita_wartosc'].", '$data', 'CZĘŚCIOWE', '$dos_imie', '$dos_nazwisko')";
  46. $wynik = mysql_query($zapytanie);
  47. if (!$wynik)
  48. return false;
  49.  
  50. $zapytanie = "select idzamowienia from zamowienia where 
  51.  idklienta = $idklienta and 
  52.  wartosc > ".$HTTP_SESSION_VARS['calkowita_wartosc']."-.001 and
  53.  wartosc < ".$HTTP_SESSION_VARS['calkowita_wartosc']."+.001 and
  54.  data = '$data' and
  55.  stan_zam = 'CZĘŚCIOWE' and
  56.  dos_imie = '$dos_imie' and
  57.  dos_nazwisko = '$dos_nazwisko'";
  58. $wynik = mysql_query($zapytanie);
  59. if(mysql_numrows($wynik)>0)
  60. $idzam = mysql_result($wynik, 0, 'idzamowienia');
  61. else
  62. return false; 
  63.  
  64.  
  65. // umieszczenie wszystkich produktów
  66. foreach($HTTP_SESSION_VARS['koszyk'] as $isbn => $ilosc)
  67. {
  68. $dane=pobierz_dane_ksiazki($isbn);
  69. $zapytanie = "delete from produkty_zamowienia where
  70. idzamowienia = '$idzam' and isbn = '$isbn'";
  71. $wynik = mysql_query($zapytanie);
  72. $zapytanie = "insert into produkty_zamowienia values
  73. ('', '$idzam', '$isbn', ".$dane['cena'].", $ilosc)";
  74. $wynik = mysql_query($zapytanie);
  75. if(!$wynik)
  76. return false;
  77. }
  78.  
  79. return $idzam;
  80. }
  81.  
  82. ?>



Bardzo proszę o pomoc Krzysiek blink.gif

----------------------
Jeśli chcemy dać kod na forum umieszczamy go
w odpowiednich tagach, no i nie ma potrzeby
aby cała treść posta była pogrubiona !

Tym razem poprawiłem, ale na przyszłość
proszę się do tego stosować.
---
~strife