Witam,
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');
if (isset($_POST['submit'])) { foreach ($_POST['qty'] as $key => $value) {
unset ($_SESSION['cart'][$key]); $_SESSION['cart'][$key] = $value;
}
}
}
if (isset($_POST['clear'])) { foreach ($_POST['qty'] as $key => $value) {
unset ($_SESSION['cart'][$key]); }
}
$empty = true;
if (isset($_SESSION['cart'])) { 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 . ',';
}
$query = substr($query, 0, -1) . ') ORDER BY title ASC';
echo '<br /><h2>Koszyk zakupów</h2>'; echo "<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\">"; <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;
<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']) {
<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 {
<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>
";
}
<td style=\"text-align: right; padding: 2px; width: 18%;\">" . number_format($subtotal, 2) . " zł </td>
</tr>\n
";
}
<tr>
<td colspan="5" style="text-align: right; font-weight: bold;">
Suma:
</td>
<td style="text-align: right; font-weight: bold;">' . number_format($total, 2) .' zł </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 />
';
if (isset($_SESSION['user_id'])) { echo '<br /><a style="font-size: 130%;" href="zamowienie.php">Realizacja zamówienia!</a>'; } else {
echo '<br /><a style="font-size: 130%;" href="logowanie.php">Zaloguj się aby złożyć zamówienie!</a>'; }
} else {
echo '<br /><h2>Koszyk zakupów</h2>'; echo 'Twój koszyk zakupów jest aktualnie pusty.'; }
include ('includes/stopka.html');
?>
Chodzi mi tutaj o jakies zabezpieczenie na poziomie formularza input name=qty[id]