Witam
Mam problem z ustawieniem domyślnej wartości koszyka, problem polega na tym, że gdy dodam do koszyka jakieś produkty to tworzy mi sie sesja koszyka ale sesja powierzchni już niee. Domyślna wartość do wszystkich pól mam zapisana jako $powierzchnia=1 ale gdy mam np 4 produkty i pierwszego wartość zmienię na np 5 to reszta mi się restartuje i nic nie ma. Pokazałam na zdjęciach krok po kroku co się dzieje. Może coś podpowiecie
http://zapodaj.net/4a053a5f136b5.jpg.htmlhttp://zapodaj.net/992284fa8c00e.jpg.htmlhttp://zapodaj.net/fe1a486d719d1.jpg.htmlhttp://zapodaj.net/ea09e6c28db87.jpg.htmlA to jest kod którego problem dotyczy:
<?php
/* inicjuje zmienna */
if(empty($_SESSION['powierzchnia'])){ $_SESSION['powierzchnia'] = 0;
}
if(isset($_GET['zapiszPowierzchnie'])){ /* przetwarza dane formularza powierzchni */
if(!is_array($_SESSION['powierzchnia'])){ $_SESSION['powierzchnia'] = array(); }
if (!isset($_SESSION['koszyk'])) { $_SESSION['koszyk'] = array(); }
if (isset($_GET['reset'])) //chcemy wyczyścić koszyk {
unset($_SESSION['powierzchnia']); unset($_SESSION['koszyk']); header('location: '. $_SERVER['PHP_SELF']. '?'. SID
); }
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Firma budowlana </title>
</head>
<body>
<h1>Twoj koszyk z zakupami</h1>
<?php
// definicja tablic z towarami oraz cenami
$wynik = mysql_query("SELECT ID, Nazwa_uslugi, Cena_za_metr FROM cennik_uslug") or
die('Błąd zapytania');
{
$towary[$row['ID']]=$row['Nazwa_uslugi'];
$ceny[$row['ID']]=$row['Cena_za_metr'];
}
?>
<table border="1">
</thead>
<tr>
<th>Nazwa usługi</th>
<th>Cena za metr</th>
</tr>
</thead>
<tbody>
<?php
$suma = 0;
$powierzchnia = 1;
for ($i=0;$i < count($_SESSION['koszyk']); $i++) {
if($_SESSION['powierzchnia']>0){
$powierzchnia = $_SESSION['powierzchnia'][$i];
}
echo '<td>'.$towary[$_SESSION['koszyk'][$i]].'</td>'; echo '<td align="right">'; echo $powierzchnia.' m<sup>2</sup> x '.number_format ($ceny[$_SESSION['koszyk'][$i]],2
);
<form method="post" action="'.$_SERVER['PHP_SELF'].'?zapiszPowierzchnie=1">
<input type="text" name="powierzchnia" id="powierzchnia" value="'.$_SESSION['powierzchnia'][$i].'">
<input type="hidden" name="iteamId" value="'.($i).'">
<input type="submit" value="Zapisz">
</form>
</td>';
$suma = $suma + ($ceny[$_SESSION['koszyk'][$i]] * $powierzchnia);
}
?>
</tbody>
<tfoot>
<tr>
<th align="right">Naleznosc: </th><br>
</tr>
</tfoot>
</table>
<p><a href="towary.php">Kupuj dalej</a> lub też: <a href="
<?php echo $_SERVER['PHP_SELF']; ?>?reset=1">Wyczysc swoj koszyk</a></p>
</body>
</html>
Może coś podpowiecie? Na początku kodu zapisałam print_r aby pokazać co i jak zmienia sie po dodaniu
Ten post edytował Basia555 31.07.2015, 20:52:09