Делаю (велисипед) корзину небольшую и чтоб обновить количество товара вкорзине обновляется только одна позиция первая а остально не хочет хоть тресни
файл типа
1<|>Аднесан<|>1<|>120<|>
2<|>Аднесан<|>10<|>120<|>
3<|>Аднесан<|>1<|>120<|>
$cart = file("./data/tmp_cart/" . @$ip . ".dat");
$quantity = 0;
$summa = 0;
echo ('<div id="result"></div>');
echo ('<div id="counts">');
echo '<table align="center" border="0" cellpadding="5" cellspacing="5" width="100%" height="100%">';
echo '<tr>
<td class="mem_par" width="5%"><b>Id</b></td>
<td class="mem_par" width="25%"><b>Имя</b></td>
<td class="mem_par" width="20%"><b>Количество</b></td>
<td class="mem_par" width="5%"></td>
<td class="mem_par" width="20%"><b>Цена</b></td>
<td class="mem_par" width="20%"><b>Сумма</b></td>
<td class="mem_par" width="5%"></td>
</tr>';
foreach($cart as $line)
{
if(!strripos($line, "<|>")) continue;
$elem = explode("<|>",$line);
echo '<tr>
<td class="mem_par" align="left">'.$elem[0].'</td>
<td class="mem_par" align="left">'.$elem[1].'</td>
<td class="mem_par" align="left">
<form name="forma" id="callbacks" enctype="multipart/form-data" action="" method="POST">
<input type="hidden" name="id" value="'.$elem[0].'"/>
<input type="hidden" name="name" value="'.$elem[1].'"/>
<input type="text" size = "1" name="quantity" id="quantity" value="'.$elem[2].'">
<input type="hidden" name="price" value="'.$elem[3].'"/>
<input class="validator" type="text" name="validator"></td>
<td class="mem_par" align="center">
<input type="image" name="submit" id="btncontcall" src="./modules/widgets/readd.jpg" border="0" alt="Submit" style="width: 16px;" /></form></td>
<td class="mem_par" align="left">'.$elem[3].'</td>
<td class="mem_par" align="left">'.$elem[2] * $elem[3].'</td>
<td class="mem_par" align="center"><a href="./cart.html?action=delete&id='.$elem[0].'" onclick="return confirmDelete();"><img src="modules/widgets/drop.png" title="Удалить?" ></a></td>
</tr>';
$quantity += $elem[2];
$summa += $elem[2] * $elem[3];
}
echo '<tr>
<td class="mem_par"></td>
<td class="mem_par"></td>
<td class="mem_par">'.$quantity.'</td>
<td class="mem_par"></td>
<td class="mem_par"></td>
<td class="mem_par">'.$summa.'</td>
<td class="mem_par"></td>
</tr>';
echo ('<tr>
<td colspan="7" align="right"><br>В корзине <b>'.$quantity.'</b> единиц на сумму <b>'.$summa.' ₴</b>.</td>
</tr>');
echo ('<tr>
<td colspan="7" align="right"><br><a href="./alphabetic.html" >Продолжить покупки</a></td>
</tr>');
echo '</table>';
echo ('</div>');
/*$(document).ready(function () {
$('#btncontcall').click(function () {
$.ajax({
type: "POST",
url: "./modules/cart_add.php", // Адрес обработчика
data: $('#callbacks').serialize(),
error: function () {
$("#result").html("Произошла ошибка!");
},
beforeSend: function () {
$("#result").html("Обновлено...");
},
success: function (result) {
$('#callbacks')[0].reset();
$('#result').html(result);
checkThis();
}
});
return false;
});
});
$(function(){
$("#btncontcall").click(function(){
$.ajax({
type: "POST",
url: "./modules/cart_add.php",
data: $("#callbacks").serialize(),
success: function(data)
{
$("#callbacks")[0].reset();
}
});
return false;
});
});
*/
$(document).ready(function () {
$("#btncontcall").click(function (event) {
//stop submit the form, we will post it manually.
event.preventDefault();
// Get form
var form = $('#callbacks')[0];
// Create an FormData object
var data = new FormData(form);
// disabled the submit button
$("#btncontcall").prop("disabled", true);
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "./modules/cart_add.php",
data: data,
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (data) {
//$("#btncontcall").append(data.item);
$("#result").text(data);
console.log("Обновлено... : ", data);
$("#btncontcall").prop("disabled", false);
},
error: function (e) {
$("#result").text(e.responseText);
console.log("Произошла ошибка! : ", e);
$("#btncontcall").prop("disabled", false);
}
});
});
});
обработчик
if ($_SERVER["REQUEST_METHOD"] == "POST") {
//------------------------- start
// Если скрытое поле заполнили
if ($_POST['validator']!=''){
die('Ботам ходу нет!');
}else{
//var_dump($ip);
$id = $_POST['id'];
$name = $_POST['name'];
$quantity = $_POST['quantity'];
$price = $_POST['price'];
$content = '';
$file = file("../data/tmp_cart/" . $ip . ".dat");
$zap = false;
foreach($file as $line)
{
if(!strripos($line, "<|>")) continue;
$elem = explode("<|>",$line);
if ( $elem[0] == $id)
{
$content = $content . $id . "<|>" . $name . "<|>" . $quantity . "<|>" . $price . "<|>\n";
$zap = true;
}
else $content = $content.$line;
}
if ( !$zap ) $content .= $id . "<|>" . $name . "<|>" . $quantity . "<|>" . $price . "<|>\n";
if(!file_put_contents("../data/tmp_cart/" . $ip . ".dat",$content))
{
echo("Ошибка записи.");
}
else
{
chmod( "../data/tmp_cart/" . $ip . ".dat", 0666 );
//var_dump($ip);
echo("Корзина обновлена!");
}
//echo "<script type='text/javascript'>setTimeout(\"location.replace('./cart.html')\", 1);</script>";
//------------------------- end
}
}