Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przekazywanie tablicy Sesyjnej miedzy podstronami, Dziwny przypadek ?!?!
kielich
post
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Witam Serdecznie mam mały problem z Tablica Sesyjną mianowicie mam kod który trzyma nazwe produktu w sesji o to kod

Kod

  $przedmioty = array();
  $przedmioty['nazwa']=$ksiazka['nazwa'];
  $przedmioty['sztuk']=$ilosc;
  $_SESSION['przedmioty']=$przedmioty;
  echo $_SESSION['przedmioty']['nazwa'];
  echo $_SESSION['przedmioty']['sztuk'];


I daje sobie tak na jednej z podstronie i jest OK wyswietla mi wszystkie nazwy jak i sztuki które są w koszyku ale najdziwniejsze jest to że kiedy na innej podstronie daje

Kod
echo $_SESSION['przedmioty']['nazwa'];
    echo $_SESSION['przedmioty']['sztuk'];


to wyświetla mi tylko ostatio dodana nazwe i sztuki do koszyka ( a nie wszystkie)

Czy jest na to rada ? Będę bardzo wdzięczny za odpowiedz
pozdrawiam .

Ten post edytował kielich 9.07.2009, 15:38:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kielich
post
Post #2





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


tu jest koszyk
Kod
@ $nowy = $_GET['nowy'];



  if($nowy)

  {

    // wybrany nowy produkt

    if(!isset($_SESSION['koszyk']))

    {

      $_SESSION['koszyk'] = array();

      $_SESSION['produkty'] = 0;

      $_SESSION['calkowita_wartosc'] ='0';

    }

    if(isset($_SESSION['koszyk'][$nowy]))

      $_SESSION['koszyk'][$nowy]++;

    else

      $_SESSION['koszyk'][$nowy] = 1;

    $_SESSION['calkowita_wartosc'] =      

                                      oblicz_wartosc($_SESSION['koszyk']);

    $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']);



  }

  if(isset($_POST['zapisz']))

  {  

    foreach ($_SESSION['koszyk'] as $isbn => $ilosc)

    {

      if($_POST[$isbn]=='0')

        unset($_SESSION['koszyk'][$isbn]);

      else

        $_SESSION['koszyk'][$isbn] = $_POST[$isbn];

    }

    $_SESSION['calkowita_wartosc'] =

oblicz_wartosc($_SESSION['koszyk']);

    $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']);

  }

if($_SESSION['koszyk']&&array_count_values($_SESSION['koszyk']))
    wyswietl_koszyk($_SESSION['koszyk']);

  else

  {

echo "<span style='border:1px solid silver; color:#993a4e; font-weight:bold; padding:10px 250px 10px 25px; width:250px; line-height:100px;'>Koszyk jest pusty (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !</span>";

header ('Refresh: 1; url=index.php');

  }


a tu funkcja wyswietlająca koszyk
Kod
....
  foreach ($koszyk as $isbn => $ilosc)

  {

    $ksiazka = pobierz_dane_ksiazki($isbn);


$_SESSION[1]['nazwa'] = $ksiazka['nazwa'];
$_SESSION[1]['ilosc'] = $ilosc;

foreach($_SESSION as $val) {
     echo $val['nazwa'].' '.$val['ilosc']."r\n";
}




    echo '<tr>';



      echo '<td align = center>';

  





           echo '<img src="Foto/'.$ksiazka['foto'].'" border="0" ';

           echo 'width = "150px" height = "130px;" />';

    





      echo '</td>';





    echo '<td align = left>';

    echo '<a href = "opis.php?kategoria='.$ksiazka['nazwa_kategorii'].'&nazwa='.$ksiazka['id'].'" style="color:black; text-decoration:none; margin-left:10px;">'.$ksiazka['nazwa'].'</a>';

    echo '</td><td align = center>PLN: '.str_replace(',','.',$ksiazka['cena']);

    echo '<td align = center>';

    // jeżeli zmiany są dozwolone, ilości znajdują się w polach tekstowych

    if ($zmiana == true)

      echo "<input type = 'text' name = \"$isbn\" value = \"$ilosc\" size = \"3\">";

    else

      echo $ilosc;





    echo '</td><td align = "center">PLN '.str_replace(',','.',$ksiazka['cena']*$ilosc).'<a href="delete_produkt.php?nazwa='.$ksiazka['id'].'" alt = "Usuń" title= "usuń"  ><span class="basket"></span></a></td></tr>';





  }

  // wyświetl wiersz sumy

  echo "<tr >

          <th colspan = ". (2+$obrazki) ." bgcolor=\"#5e99a3\">&nbsp;</td>

          <th align = \"center\" bgcolor=\"#5e99a3\">

            <font color='#fff'> Łącznie:</font> ".str_replace(',','.',$_SESSION['produkty'])."szt.

          </th>

          <th align = \"center\" bgcolor=\"#5e99a3\">

              <font color='#fff'> PLN:</font> ".str_replace(',','.',$_SESSION['calkowita_wartosc']);

          '</th>

          

        </tr>';

        

  // wyświetl przycisk zapisujący zmiany

  if($zmiana == true)

  {

    echo '<tr>

            <td colspan = '. (2+$obrazki) .'>&nbsp;<a href="index.php" style="color:#8a0000; padding: 0 0 10px 10px; font-size:13px; text-decoration:none;"><input type = image src = "images/kontynuacja.gif"

                     border = "0" alt = "kontynuacja zakupów" heigth = 40 width = 100></a><br /></td>

            <td align = left>

              <input type = hidden name = zapisz value = true />

              <input type = image src = "images/zapisz-zmiany.gif"

                     border = "0" alt = "Zapisz zmiany" heigth = 40 width = 100>



            </td>

            <td align=right><a href="weryfikacja.php" style="color:#8a0000; padding: 0 10px 0 0; font-size:13px; text-decoration:none;"><input type = image src = "images/do kasy.gif"

                     border = "0" alt = "Do kasy" heigth = 40 width = 100></a></td>

        </tr>';

  }

  echo '</form></table>';

}


//EDIT (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

print_r z $_SESSION mam taki
Kod
Array
(
    [koszyk] => Array
        (
            [4] => 1
            [6] => 1
        )

    [produkty] => 2
    [calkowita_wartosc] => 2560.97
    [captcha] => wlikc8r
    [zalogowany] => p
    [sa] => Array
        (
            [nazwa] => ksiazk jakas
            [ilosc] => 1
            [1] => Array
                (
                    [nazwa] => ksiazk jakas
                )

            [sa] => Array
                (
                    [nazwa] => ksiazk jakas
                )

        )

    [1] => Array
        (
            [nazwa] => jakis tam laptop
            [ilosc] => 1
        )

)

Array
(
    [koszyk] => Array
        (
            [4] => 1
            [6] => 1
        )

    [produkty] => 2
    [calkowita_wartosc] => 2560.97
    [captcha] => wlikc8r
    [zalogowany] => p
    [sa] => Array
        (
            [nazwa] => ksiazk jakas
            [ilosc] => 1
            [1] => Array
                (
                    [nazwa] => ksiazk jakas
                )

            [sa] => Array
                (
                    [nazwa] => ksiazk jakas
                )

        )

    [1] => Array
        (
            [nazwa] => ksiazk jakas
            [ilosc] => 1
        )

)


to dlatego te smieci przy tej nazwie jakas rada (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

OK smieci naprawiłem ale najlepsze jest to ze

to jest ze strony glownej
Kod
jakis tam laptopArray
(
    [koszyk] => Array
        (
            [1] => 19
            [6] => 1
        )

    [produkty] => 20
    [calkowita_wartosc] => 57040.99
    [1] => Array
        (
            [nazwa] => jakis tam laptop
            [ilosc] => 19
        )

)
ksiazk jakas Array
(
    [koszyk] => Array
        (
            [1] => 19
            [6] => 1
        )

    [produkty] => 20
    [calkowita_wartosc] => 57040.99
    [1] => Array
        (
            [nazwa] => ksiazk jakas
            [ilosc] => 1
        )

)


a to z iinnej podstrony
Kod
Array
(
    [koszyk] => Array
        (
            [1] => 19
            [6] => 1
        )

    [produkty] => 20
    [calkowita_wartosc] => 57040.99
)


tutaj i tutaj jest ta petlka
Kod
foreach($_SESSION as $val) {
     echo $val['nazwa'];

}


OK udało się wszystko ładnie do bazy dodaje wyswietla itd thx

Ten post edytował kielich 9.07.2009, 21:19:05
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 16:12