[ kelja @ 22.12.2007. 11:09 ] @
Napravio sam neku shopping cart skripticu, medjutim imam problem sa njom na jednom serveru, dobijam interesantne vrednosti session varijable, pogledajte i sami:

http://www.sinisake.com/projects/courses/

PhP verzija je 4.4.7

Offline (WAMP) i na drugom serveru sve funkcionise dobro:

http://www.sinisa.milicevici.com/courses/

Evo koda(bitnih delova):

course.php

Code:


 $_SESSION[price]=$rows[5];


cart.php

Code:


  if($_GET[action]=="add"){
            if(!isset($_SESSION[cid])){
            $_SESSION[in_cart]='';
            $_SESSION[total]=0;
            }
            else {
            //Check if item exists in basket!!//
            if(!eregi($_SESSION[cid],$_SESSION[in_cart])){
            $_SESSION[in_cart].="$_SESSION[cid],";
            $_SESSION[total]+=$_SESSION[price];
            echo"<script>alert('$_SESSION[total]');</script>";
            } else {
            die ("<script>alert('You have that item already in Basket.'); location.href='index.php';</script>");
            }
             if($_SESSION[in_cart]==""){echo ("<tr><td colspan='5'><h3>No Items in Basket!</h3></td></tr>");}
            $check_array=explode(",",$_SESSION[in_cart]);
            
            for($i=0;$i<count($check_array)-1;$i++){
            if($check_array[$i]!="")
             select("*","course","WHERE id=$check_array[$i]");
            echo "<tr>
            <td align='left' style='padding-left:6px;'>\n
            <input name='del[]' type='checkbox' value='$rows[0]||$rows[5]' /></td>\n
            <td align='left' style='padding-left:6px;'>$rows[1]</td>\n
            <td align='left' style='padding-left:6px;'>$rows[2]</td>\n
            <td align='left' style='padding-left:6px;'>$rows[4]</td>\n
            <td align='left' style='padding-left:6px;'>$ $rows[5]</td>\n
            
            </tr>";
            }
            
        }
        }
        
        
          
          
        
          
                         
              ?>



Ovde je problem(cart.php) Potpuno blesavo, otkud ona jedinica?!? Session varijabla vraca vrednost ''true"?!?

[Ovu poruku je menjao kelja dana 22.12.2007. u 12:33 GMT+1]
[ glavince @ 22.12.2007. 13:54 ] @
A da probas sa navodnike
$_SESSION['price'] i t.d.
[ kelja @ 22.12.2007. 14:06 ] @
Hvala, ali nije to... Probao sam bas sad... :(

A da logika skripta ne valja, pretpostavljam da ne bi radilo ni na Wamp-u(offline), ni na onom(besplatnom) hostingu...
[ dakipro @ 22.12.2007. 14:39 ] @
A da probas da stavis error_reporting na E_ALL i sve notice i warninge ispravis, siguran sam da mora onda da proradi lepo... To je najbezbolniji nacin da se osiguras da ce kod raditi na vecini standardno podesenih servera.
[ kelja @ 22.12.2007. 14:51 ] @
Hvala, uradio sam to, ali iskreno receno ne razumem poruke koje dobijam. Pogledacu...

@glavince, bio si u pravu, nisam prvi put sve ispravio! Hvala jos jednom!!!
@dakipro, hvala na savetu!

Hm... opet ne valja... Otkud ta jebena jedinica???

[Ovu poruku je menjao kelja dana 22.12.2007. u 16:08 GMT+1]
[ kelja @ 23.12.2007. 15:31 ] @
Problem je resen.
Pisem ovaj post iz cisto pedagoskih razloga, sa zeljom da upozorim mlade programere i skriptase da posebnu paznju posvete imenovanju varijabli u sopstvenom kodu.

Naime, u fajlu koji sam include-ovao imao sam globalnu varijablu ''total''(broj recorda) i to je izazivalo pometnju.
Da znam, i globalne varijable treba izbegavati kad god je moguce, ali...