Problem z usuwaniem elementu tablicy sesyjnej


(Ingramkalina) #1

Witam,

Mam problem z usuwaniem elementu tablicy sesyjnej.

Oto kod

$usundo = $_GET['usun'];

if ($usundo == 'kosz') {

$id = $_GET["produkt_id"];


unset($_SESSION["produkty"][$id]);


echo "";

}

$dodajdo = $_GET['dodaj'];

if ($dodajdo == 'kosz') {

 $id = $_GET["produkt_id"];

 if (!$id) {

 if(!$_SESSION["produkty"]){

 print '

'; print 'Twój koszyk jest pusty'; print ''; } else { foreach ($_SESSION["produkty"] as $produkt_id) { $dane_sklep = mysql_fetch_array(mysql_query("SELECT * FROM produkty WHERE id='$produkt_id'")); print '

| '; print '

'; print ' > print $dane_sklep[

| '; print '

'; print $dane_sklep["nazwa"]; print ''; print '

'; print 'cena : '.$dane_sklep["cena"].' zł'; print ' '; print 'ilość : '; print ''; $liczba_max = $dane_sklep["dostepnosc"]; for ($i = 1; $i $liczba_max + 1; $i++) { print ''.$i.''; } print ''; print ''; print '

| '; print ''; print ' |
'; print ' '; $cena = $cena + $dane_sklep["cena"]; } } session_start(); $_SESSION["cena"] = $cena; } else { $produkty=array(); session_start(); if (isset($_SESSION["produkty"])) $produkty = $_SESSION["produkty"]; array_push($produkty, $id); ($produkty); $produkty=array_unique($produkty); $_SESSION["produkty"] = $produkty; if(!$_SESSION["produkty"]){ print '

'; print 'Twój koszyk jest pusty'; print ''; } else { foreach ($_SESSION["produkty"] as $produkt_id) { $dane_sklep = mysql_fetch_array(mysql_query("SELECT * FROM produkty WHERE id='$produkt_id'")); print '

| '; print '

'; print ' > print $dane_sklep[

| '; print '

'; print $dane_sklep["nazwa"]; print ''; print '

'; print 'cena : '.$dane_sklep["cena"].' zł'; print ' '; print 'ilość : '; print ''; $liczba_max = $dane_sklep["dostepnosc"]; for ($i = 1; $i $liczba_max + 1; $i++) { print ''.$i.''; } print ''; print ''; print '

| '; print ''; print ' |
'; print ' '; $cena = $cena + $dane_sklep["cena"]; } echo ""; } } [/code] w tym if'ie
[code] if ($dodajdo == 'kosz') {
jest pętla drukująca mi wszystkie sesje jako produkty w sklepie. Klikając

print '';

[/code]


przenoszę się do if'a

[code] if ($usundo == 'kosz') {

W którym próbuje usunąć element tablicy sesyjnej.

Ale niestety nie udało mi się :frowning:

Pomocy !


(Kamfalg) #2

twoja tablica z tego co widzę wygląda tak

array(

        produkty = (

                  [0] => produkt_id1

                  [1] => produkt_id2

                  [2] => produkt_id3

                  .........

        )

)

a Ty chcesz usunąć z niej dane id produktu ale robisz to tak:

unset($_SESSION['produkty'][$id])

czyli chcesz usunąć element o kluczu $id a nie samo $id

a klucze w tej strukturze są nadawane automatycznie bo nie ustalasz ich samemu