Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] działająca sesja tylko na loclhoscie.. dlaczego ?
Forum PHP.pl > Forum > Przedszkole
kielich
Witam mam taki problemik mysląc ze już skończyłem co miałem skończyć wrzuciłem wszystko na serwer UGU i okazało się ze sesje koszyka w koszyku nie działaja jak powienny na localu
print_r $_SESSION mam taki:

  1. <?php
  2. (
  3.    [koszyk] => Array
  4.        (
  5.            [36] => 1
  6.        )
  7.  
  8.    [produkty] => 1
  9.    [calkowita_wartosc] => 199
  10.    [przedmiot] => Array
  11.        (
  12.            [] => Array
  13.                (
  14.                    [nazwa] => Pi?ka adidas
  15.                    [id] => 36
  16.                    [cena] => 199
  17.                    [ilosc] => 1
  18.                )
  19.  
  20.        )
  21. }
  22. ?>


a na ugu
  1. <?php
  2. (
  3.    [koszyk] => Array
  4.        (
  5.            [36] => 1
  6.        )
  7.  
  8.    [produkty] => 1
  9.    [calkowita_wartosc] => 0
  10.    [przedmiot] => Array
  11.        (
  12.            [] => Array
  13.                (
  14.                    [nazwa] =>
  15.                    [id] =>
  16.                    [cena] =>
  17.                    [ilosc] => 1
  18.                )
  19.  
  20.        )
  21.  
  22. )
  23. ?>


dlaczego doszło do takiego incydentu questionmark.gif
b4x
A mógłbyś pokazać jak dane te ustawiasz?
kielich
  1. <?php
  2.  
  3. @ $nowy = $_GET['nowy'];
  4.  
  5.  
  6.  
  7.  if($nowy)
  8.  
  9.  {
  10.  
  11.    // wybrany nowy produkt
  12.  
  13.    if(!isset($_SESSION['koszyk']))
  14.  
  15.    {
  16.  
  17.      $_SESSION['koszyk'] = array();
  18.  
  19.      $_SESSION['produkty'] = 0;
  20.  
  21.      $_SESSION['calkowita_wartosc'] ='0';
  22.  
  23.    }
  24.  
  25.    if(isset($_SESSION['koszyk'][$nowy]))
  26.  
  27.      $_SESSION['koszyk'][$nowy]++;
  28.  
  29.    else
  30.  
  31.      $_SESSION['koszyk'][$nowy] = 1;
  32.  
  33.    $_SESSION['calkowita_wartosc'] =      
  34.  
  35.                                      oblicz_wartosc($_SESSION['koszyk']);
  36.  
  37.    $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']);
  38.  
  39.  
  40.  
  41.  }
  42.  
  43.  if(isset($_POST['zapisz']))
  44.  
  45.  {  
  46.  
  47.    foreach ($_SESSION['koszyk'] as $isbn => $ilosc)
  48.  
  49.    {
  50.  
  51.      if($_POST[$isbn]=='0')
  52.  
  53.        unset($_SESSION['koszyk'][$isbn]);
  54.  
  55.      else
  56.  
  57.        $_SESSION['koszyk'][$isbn] = $_POST[$isbn];
  58.  
  59.    }
  60.  
  61.    $_SESSION['calkowita_wartosc'] =
  62.  
  63. oblicz_wartosc($_SESSION['koszyk']);
  64.  
  65.    $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']);
  66.  
  67.  }
  68.  
  69. if($_SESSION['koszyk']&&array_count_values($_SESSION['koszyk']))
  70.    wyswietl_koszyk($_SESSION['koszyk']);
  71.  
  72.  else
  73.  
  74.  {
  75.  
  76. 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 !!!</span>";
  77.  
  78. header ('Refresh: 1; url=index.php');
  79.  
  80.  }
  81. echo '<pre>';
  82. print_r($_SESSION);
  83. echo '</pre>';
  84. ?>

kodu funkcji narazie nie pokazuje bo nie wiem czy jest sens
Ps. kiedys miałem problem podobny i wina była z przekazywanie GETA kurcze ale ten problem no nie wiem jak rozwiazac


//EDIT
  1. <?php
  2. function wyswietl_koszyk($koszyk, $zmiana = true, $obrazki = 1)
  3.  
  4. {
  5.  
  6.  
  7.  
  8.  echo '<table  border="1" rules="all" bordercolor="silver" width = 100% cellspacing = 0>
  9.  
  10.        <form action = basket.php method = post>
  11.  
  12.        <tr><th colspan = '. (1+$obrazki) .' bgcolor="#5e99a3" ><font color="#fff">Produkt</font></th>
  13.  
  14.        <th bgcolor="#5e99a3"><font color="#fff"> Cena:</font></th><th bgcolor="#5e99a3"><font color="#fff">Ilość</font></th>
  15.  
  16.        <th bgcolor="#5e99a3"><font color="#fff">Wartość</font></th></tr>';
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  // wyświetlanie każdego produktu jako wiersza tabeli
  23.  
  24.  foreach ($koszyk as $isbn => $ilosc)
  25.  
  26.  {
  27.  
  28.    $ksiazka = pobierz_dane_ksiazki($isbn);
  29.  
  30.  
  31. $_SESSION['przedmiot'][$za]['nazwa'] = $ksiazka['nazwa'];
  32.  
  33. $_SESSION['przedmiot'][$za]['id'] = $ksiazka['id'];
  34. $_SESSION['przedmiot'][$za]['cena'] = $ksiazka['cena'];
  35. $_SESSION['przedmiot'][$za]['ilosc'] = $ilosc;
  36. $za++;
  37. /*
  38. foreach($_SESSION['przedmiot'] as $val) {
  39.      echo $val['nazwa'];
  40.  
  41. }
  42. echo "<pre>";
  43. print_r($_SESSION);
  44. echo "</pre>";
  45.  
  46. */
  47.  
  48.  
  49.  
  50.    echo '<tr>';
  51.  
  52.  
  53.  
  54.      echo '<td align = center>';
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.           echo '<img src="Foto/'.$ksiazka['foto'].'" border="0" ';
  63.  
  64.           echo 'width = "150px" height = "130px;" />';
  65.  
  66.    
  67.  
  68.  
  69.  
  70.  
  71.  
  72.      echo '</td>';
  73.  
  74.  
  75.  
  76.  
  77.  
  78.    echo '<td align = left>';
  79.  
  80.    echo '<a href = "opis.php?kategoria='.$ksiazka['nazwa_kategorii'].'&nazwa='.$ksiazka['id'].'" style="color:black; text-decoration:none; margin-left:10px;">'.$ksiazka['nazwa'].'</a>';
  81.  
  82.    echo '</td><td align = center>PLN: '.str_replace(',','.',$ksiazka['cena']);
  83.  
  84.    echo '<td align = center>';
  85. ....
  86. ?>



powiem więcej srawdzałem jeszcze na dwóch innych płanych serwerach i również ta sesja nie działa

  1. <?php
  2. function pobierz_dane_ksiazki($isbn)
  3. {
  4.  // zapytanie bazy danych o wszystkie dane konkretnej ksišżki
  5.  if (!$isbn || $isbn=='')
  6.     return false;
  7.  
  8.   $lacz = lacz_bd();
  9.   $zapytanie = "select * from produkty where id='$isbn'";
  10.   $wynik = @$lacz->query($zapytanie);
  11.   if (!$wynik)
  12.     return false;
  13.   $wynik = @$wynik->fetch_assoc();
  14.   return $wynik;
  15.  
  16. }
  17. ?>


czy mieliscie kiedys takowy problem bo dla mnie cos nowego :/ i niezbyt cieszącego jesli ktos jest w stanie mi pomóc napiszcie

wiec gdzie moze byc ten blad skoro na localu wszystko ładnie działa a na innym hoscie juz nie kurcze to dla mnie troszke wazne bardzo prosze o pomoc
erix
Cytat
Witam mam taki problemik mysląc ze już skończyłem co miałem skończyć wrzuciłem wszystko na serwer UGU i okazało się ze sesje koszyka w koszyku nie działaja jak powienny na localu

A sprawdź, czy cały czas masz ten sam identyfikator sesji.
kielich
OK poradziłem sobie z sesja i wszystko gra tak jak mowiłem $_POST i $_GET tongue.gif

ale natrafiłem na ostati problem którego nie istnienie bardzo by mnie zadowoliło smile.gif

po zminie ilosci w koszyku lub kliknieciu na zmien sesja koszyka sie kasuje wszystko to po mojej zmianie no ale oprócz tego waznego drobiazgu wszystko działa jak dusza prognała winksmiley.jpg
bardzo prosze o pomoc w rozwiaziu jeszcze tego problemu

  1. <?php
  2. // wyświetlanie każdego produktu jako wiersza tabeli  
  3.  foreach ($koszyk as $_POST['isbn'] => $ilosc)  
  4.  {  
  5. $a=mysql_query("select * from produkty where id='".$_POST['isbn']."'");
  6. $ile=mysql_num_rows($a);
  7. $ksiazka = mysql_fetch_array($a);  
  8.  
  9. $_SESSION['przedmiot'][$za]['nazwa'] = $ksiazka['nazwa'];  
  10. $_SESSION['przedmiot'][$za]['id'] = $ksiazka['id'];
  11. $_SESSION['przedmiot'][$za]['cena'] = $ksiazka['cena'];
  12. $_SESSION['przedmiot'][$za]['ilosc'] = $ilosc;
  13. $za++;
  14. ...
  15. ?>



  1. <?php
  2. if(isset($_POST['zapisz'])==TRUE)  
  3.  {    
  4.    foreach ($_SESSION['koszyk'] as $isbn => $ilosc)  
  5.    {  
  6.      if($isbn=='0')  
  7.        unset($_SESSION['koszyk'][$isbn]);  
  8.      else  
  9.        $_SESSION['koszyk'][$isbn] = $ilosc++;  
  10.    }  
  11.    $_SESSION['calkowita_wartosc'] =  
  12. oblicz_wartosc($_SESSION['koszyk']);  
  13.    $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']);  
  14.  }
  15. ?>

i input
Kod
  
                          <input type = hidden name="zapisz" value = true />  
               <input type = image src = "images/zapisz-zmiany.gif"  
                      border = "0" alt = "Zapisz zmiany" heigth = 40 width = 100>


czy ktos moze wie jak rozwiazac ten dziwaczny problem??

temat do zamknięcia Sam sobie we wszystkim poradziłem smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.