Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Przesyłanie informacji z checbox do formularza
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam smile.gif
Mam pewien problem.
Otóż w koszyku zakupów, jeśli ktoś zaznaczy opcje Przesyłka za pobraniem chcę mieć do bazy wysłaną wartość 1 jeśli nie zaznaczy to zero. Problem w tym, że nie wysyła żadnej wartości

  1. <?php
  2. if(isset($_SESSION['access']) or isset($_SESSION['email']))
  3. {
  4. if($_SESSION['access']=='1' or $_SESSION['email'] or $_SESSION['access'])
  5. {
  6. if(isset($_POST['pobranie']))
  7. $pobranie = zabezpiecz($_POST['pobranie']);
  8. echo '<h2>Koszyk</h2>';
  9. echo '<br /><br />';
  10. $suma = 0;
  11. $zapytanie1 = "SELECT * FROM `cms_sklep_koszyk` WHERE `klient` = ".$_SESSION['id']." ORDER BY `id` ASC";
  12. $idzapytania1 = mysql_query($zapytanie1) or die(mysql_error());
  13. $licz = mysql_query('SELECT * FROM `cms_sklep_koszyk` WHERE `klient` = '.$_SESSION['id'].'');
  14. $oblicz = mysql_num_rows($licz);
  15. if($oblicz!=0)
  16. {
  17. while ($wiersz = mysql_fetch_array($idzapytania1))
  18. {
  19. echo '<b>Nazwa:</b> '.zabezpiecz($wiersz['nazwa']). ' <b>Cena:</b> '.zabezpiecz($wiersz['cena']).' <a style="text-decoration: none;" href="index.php?page=basket&action=delete&id='.$wiersz['id'].'">Usuń</a><br />';
  20. $suma = $suma + zabezpiecz($wiersz['cena']);
  21. if(isset($_GET['action']))
  22. {
  23. if($_GET['action']=='delete' and $_GET['id']==''.$wiersz['id'].'')
  24. {
  25. $zapy = mysql_query('DELETE FROM `cms_sklep_koszyk` WHERE `id`="'.$wiersz['id'].'"');
  26. header('Location: index.php?page=basket');
  27. }
  28. if($_GET['action']=='del')
  29. {
  30. $zapy = mysql_query('DELETE FROM `cms_sklep_koszyk` WHERE `klient`="'.$_SESSION['id'].'"');
  31. header('Location: index.php?page=basket');
  32. }
  33. if($_GET['action']=='next')
  34. {
  35. $data = date('Y-m-j G:i:s');
  36. $status = 'Złożone';
  37. $utworz = "INSERT INTO `cms_sklep_zamowienie` (`nazwa`, `data`, `klient`, `kwota`, `status`, `pobranie`) VALUES ('".$wiersz['nazwa']."', '".$data."', '".$_SESSION['id']."', '".$wiersz['cena']."', '".$status."', '".$pobranie."')";
  38. $idutworz = mysql_query($utworz) or die(mysql_error());
  39. $utworz = "INSERT INTO `cms_sklep_historia` (`nazwa`, `data`, `klient`, `kwota`, `status`, `pobranie`) VALUES ('".$wiersz['nazwa']."', '".$data."', '".$_SESSION['id']."', '".$wiersz['cena']."', '".$status."', '".$pobranie."')";
  40. $idutworz = mysql_query($utworz) or die(mysql_error());
  41. }
  42. }
  43. }
  44. echo '<br />Płatność za pobraniem <input type="checkbox" name="pobranie" value="2"/><br /><br />';
  45. echo '<br />SUMA: '.$suma.' zł';
  46. echo '<a style="text-decoration: none;" href="index.php?page=basket&action=next"><br />Złóż zamówienie</a> |';
  47. echo ' <a style="text-decoration: none;" href="index.php?page=basket&action=del">Wyczyść koszyk</a><br />';
  48. if(isset($_GET['action']))
  49. {
  50. if($_GET['action']=='next')
  51. {
  52. echo '<h2>Koszyk</h2>';
  53. echo '<br /><br />';
  54. echo 'Informacje na temat płatności otrzymasz na adres e-mail';
  55. $nazwa = 'ceramikaogrodnicza.pl';
  56. $email = 'nansss@nportfolio.pl';
  57. $naglowki = 'From: '.$nazwa.''.PHP_EOL.'Reply-To: '.$email.''.PHP_EOL.'Content-type: text/html; charset=utf-8';
  58. mail($_SESSION['email'], 'Gratulujemy zakupu w naszym sklepie internetowym', '<html><body><br /><b>Witaj na nportfolio.pl/sklep/!</b><br /><br /><br />Twoje konto zostało zarejestrowane na podany adres e-mail.<br />W celu potwierdzenia rejestracji konta kliknij w poniższy odnośnik:<br /><a href="http://nportfolio.pl/sklep/index.php?page=active&code=asd">http://nportfolio.pl/sklep/index.php?page=active&code=aasd</a><br /><br />Jeśli nie rejestrowałeś konta w naszym sklepie internetowym po prostu zignoruj tego maila.<br /><br /><br />------<br />Wiadomość wygenerowana automatycznie<br />przez serwis nportfolio.pl/sklep/</body></html>', $naglowki);
  59. mail($email, 'Zamówienie', '<html><body><br />Zamówienie zostało złożne<br /><br /><br /><br /><br /><br />------<br />Wiadomość wygenerowana automatycznie<br />przez serwis ceramikaogrodnicza.pl</body></html>', $naglowki);
  60. $zapy = mysql_query('DELETE FROM `cms_sklep_koszyk` WHERE `klient`="'.$_SESSION['id'].'"');
  61. //echo '<meta http-equiv="refresh" content="5; url=index.php?page=order_history">';
  62. }
  63. }
  64. }
  65. else
  66. {
  67. echo 'Twój koszyk jest pusty';
  68. }
  69. }
  70. }
  71. else
  72. {
  73. if(empty($_SERVER["HTTP_REFERER"]))
  74. {
  75. header('Location: index.php');
  76. }
  77. else
  78. {
  79. $skrypt = $_SERVER['HTTP_REFERER'];
  80. header('Location: '.$skrypt.'');
  81. }
  82. }
  83. ?>


Rozwiązane:
Zapomniałem wrzucić wszystko w form oraz zamiast linkowego złożenia zamówienia jest input submit
bastard13
Jeżeli to jest checkbox, to nie zaznaczony nie jest zawsze wysyłany np. Chrome, a zaznaczony to nie zawsze 1 np. w FF - on.
Jak chcesz, to możesz sobie napisać funkcję w JS podpiętą do formularza i robić odpowiednie filtrowanie po naciśnięciu przycisku, a przed wysłaniem formularza lub (moim zdaniem lepsze rozwiązanie) filtrować wartość po stronie serwera.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.