bardzo prosze pomoc bo nie mam juz sily. Tworze koszyk z zakupami. Z bazy danych pobierana jest dostepna ilosc sztuk danego produktu. Jak zmusi formularz input aby nie pozwolil nam wprowadzic wieksze wartosci niz liczba sztuk danego produktu. Caly koszyk oparty jest o sesje i probowalem juz chyba wszystkie rozwiazania zeby zmusic to do dzialania. Niestety zawsze po wpisaniu wiekszej wartosci niz liczba dostepnych sztuk wartosc ta powiedzmy 1987 zapisuje mi sie do zmiennej sesyjnej $_SESSION['cart'][numer_produktu]. Poniewaz chce to pozniej umiescic w bazie za pomoca serialize nie moge sobie pozwolic aby ta wartosc wkradla sie sie do bazy...
Podrzucam ponizej skrypt bardzo prosze o pomoc:
<?php $page_title = 'Koszyk zakupów'; include_once ('includes/naglowek.html'); foreach ($_POST['qty'] as $key => $value) { $_SESSION['cart'][$key] = $value; } } } foreach ($_POST['qty'] as $key => $value) { } } $empty = true; foreach ($_SESSION['cart'] as $key => $value) { $empty = false; } } } if (!$empty) { require_once ('../mysql_connect.php'); $query = "SELECT detail_id, title, shop_price, shop_qty FROM detail_movies WHERE shop = 'Y' AND shop_qty > '0' AND detail_id IN ("; foreach ($_SESSION['cart'] as $key => $value) { $query .= $key . ','; } echo ' <table style="margin: 0 auto; border-spacing: 3px; border-collapse: spacing; width:90%;"> <tr> <td style="text-align: left; padding: 1px; width: 10%;"> <b>ID:</b> </td> <td style="text-align: center; padding: 1px; width: 35%;"> <b>Tytuł filmu:</b> </td> <td style="text-align: center; padding: 1px; width: 10%;"> <b>Sztuk:</b> </td> <td style="text-align: center; padding: 1px; width: 17%;"> <b>Cena:</b> </td> <td style="text-align: center; padding: 1px; width: 10%;"> <b>Ilość:</b> </td> <td style="text-align: right; padding: 1px; width: 18%;"> <b>Razem:</b> </td> </tr> '; $total = 0; if ($_SESSION['cart'][$row['detail_id']] > $row['shop_qty']) { $subtotal = 0; } else { $subtotal = $_SESSION['cart'][$row['detail_id']] * $row['shop_price']; } $total += $subtotal; echo " <tr> <td style=\"text-align: left; padding: 2px; width: 10%;\">{$row['detail_id']} </td> <td style=\"text-align: center; padding: 2px; width: 35%;\">{$row['title']} </td> <td style=\"text-align: center; padding: 2px; width: 10%;\">{$row['shop_qty']} </td> <td style=\"text-align: center; padding: 2px; width: 17%;\">{$row['shop_price']} zł </td> "; if ($_SESSION['cart'][$row['detail_id']] > $row['shop_qty']) { echo " <td style=\"text-align: center; padding: 2px; width: 10%;\"> <input type=\"text\" size=\"1\" name=\"qty[{$row['detail_id']}]\" value=\"{$row['shop_qty']}\" /> </td> "; } else { echo " <td style=\"text-align: center; padding: 2px; width: 10%;\"> <input type=\"text\" size=\"1\" name=\"qty[{$row['detail_id']}]\" value=\"{$_SESSION['cart'][$row['detail_id']]}\" /> </td> "; } echo " </td> </tr>\n "; } echo ' <tr> <td colspan="5" style="text-align: right; font-weight: bold;"> Suma: </td> </td> </tr> </table> <div style="text-align: center;"> <br /> <input type="submit" name="submit" value="Uaktualnij zawartość" /> <p> <input type="submit" name="clear" value="Wyczyść" /></p> </div> </form> <div style="text-align: center;"> <b>Pamiętaj!</b> Przed złożeniem zamówienia zapoznaj sie z <a href="#">Regulaminem</a>.<br /> Wszystkie ceny podane w sklepie są cenami brutto (z vat).<br /> '; } else { echo '<br /><a style="font-size: 130%;" href="logowanie.php">Zaloguj się aby złożyć zamówienie!</a>'; } } else { } include ('includes/stopka.html'); ?>
Chodzi mi tutaj o jakies zabezpieczenie na poziomie formularza input name=qty[id]