HELP PLEASE !!!! problème de panier...

cs_frederic66 Messages postés 5 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 19 avril 2008 - 19 avril 2008 à 10:28
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 20 avril 2008 à 13:24
Bonjour,
mon site a été redirigé sur un nouveau serveur qui utilise PHP4, MySQL - 5.0.51a-log. depuis, mon panier ne fonctionne plus correctement... on ne peut plus ni ajouter en quantite ni retirer un produit. De plus, si on désire acheter un autre produit, le premier produit disparait et quand on veut valider le panier, il se vide automatiquement. La personne qui avait écrit ce script n'est plus joignable... quelqu'un pourrait-il m'aider s'il vous plait? Un grand MERCI d'avance...

le script :

<?php
if (!isset($_SESSION["panier"]) && empty($_GET["code"]))
    {
    echo "

Votre panier est vide!

";
    die;
    }




if (isset($_GET["action"]))
    {
    $action = $_GET["action"];


    switch ($action)
        {
        case "vide":
            unset ($_SESSION["panier"]);
            echo "

Votre panier a été vidé!

";
            die;
            break;
        case "del":
            unset ($_SESSION["panier"][$_GET["code"]]);
            break;
        case "plus":
            if ($_SESSION["panier"][$_GET["code"]]<=49)
                {
                $_SESSION["panier"][$_GET["code"]]++;
                }
             break; 
        case "moins":


            if ($_SESSION["panier"][$_GET["code"]]>1)
                {
                $_SESSION["panier"][$_GET["code"]]--;
                }
            break;
        }
    }
else
    {
    if (! isset($_SESSION["panier"]))
        {
        $_SESSION["panier"] = array();
        }
    if (! isset($_SESSION["prestation"]))
        {
        $_SESSION["prestation"]= array();
        }      
    if (! isset($_SESSION["panier"][$_GET["code"]]))
        {
        $_SESSION["panier"][$_GET["code"]]=1;
        }
    }


echo "\";
echo \"----
&nbsp;, \";
echo \"----
&nbsp;, \";
echo \"----
\";
echo \"Quantité, \";
echo \"Désignation, \";
echo \"Prix unitaire TTC , \";
echo \"Montant ligne TTC , \";
echo \"&nbsp;, \";
echo \"\".\"\r\n\";
               
$nbli=0;
$port=0;
$connect=database(\"*****_*****\");

foreach($_SESSION[\"panier\"] as $produit => $quantite)
    {
    $nbli++;
    $requete = \"select * from catalog where code_prod='\".$produit.\"'\";
    $calcRS = mysql_query($requete, $connect) or die(\"La requête\".$requete.\" n'a pu aboutir\");
    if (mysql_num_rows($calcRS)!=0)
        {
        $result = mysql_fetch_row($calcRS);
        echo \"----
\".\"\r\n\";
       echo \"";
        echo "
";
        echo "";
        echo "".$quantite."";
        echo "";
        echo "";
        echo "
";          
        echo ", \".\"\r\n\";
  }
        $puprod=$result[5];
        $remise=\"\";
        if (isset($_SESSION[\"utilisateur\"]))
          {
          if ($_SESSION[\"utilisateur\"][18]==1 && $result[3] !=0)
            {
            $puprod=$result[5]-($result[5]*$result[3]/100);
            $remise=\"(remise \".$result[3].\"% déduite)\";
            }
          }
        echo \"".$result[1]." - ".$result[2]." ".$remise.", \".\"\r\n\";
        echo \"".$puprod.", \".\"\r\n\";
        echo \"".$nombre_format_francais = number_format($puprod*$quantite, 2, ',', ' ').", \".\"\r\n\";
        echo \"\";
        $total+=$puprod*intval($quantite);
        $port+=$result[6]*intval($quantite);
        }
    }
mysql_close($connect);

echo \"----
\";
echo \"Montant Total TTC, \".\"\r\n\";
echo \"".$nombre_format_francais = number_format($total, 2, ',', ' ').", \".\"\r\n\";
echo \"&nbsp;, \".\"\r\n\";
echo \"\".\"\r\n\";
$_SESSION[\"panier\"][\"total\"]=$total;

if ($port<=100) $mtport=2.3;
else if (($port>=101) && ($port<=500)) $mtport=2.3;
else if (($port>=501) && ($port<=1000)) $mtport=5.8;
else if (($port>=1001) && ($port<=2000)) $mtport=6.9;
else if (($port>=2001) && ($port<=3000)) $mtport=8.8;
else if ($port>=3001) $mtport=10.9;
else {$mtport=0;}

echo \"----
\".\"\r\n\";

echo \"Participation aux frais de traitement et d'envoi, \".\"\r\n\";
echo \"".$nombre_format_francais = number_format($mtport, 2, ',', ' ').", \".\"\r\n\";
echo \"&nbsp;, \".\"\r\n\";
echo \"\";

$_SESSION[\"panier\"][\"port\"]=$mtport;
                       
echo \"----
\";
echo \"Net à payer, \".\"\r\n\";
echo \"".$nombre_format_francais = number_format($total+$mtport, 2, ',', ' ').", \".\"\r\n\";
echo \"&nbsp;, \".\"\r\n\";
echo \"\".\"\r\n\";
$_SESSION[\"panier\"][\"ttc\"]=$total+$mtport;
         
echo \"----
&nbsp;, \";     
echo \"----
\";
echo \"&nbsp;, \".\"\r\n\";
echo \"\";
           
echo \"----
&nbsp;, \";

echo \"----
&nbsp;, \";
echo \"";
echo "
";
echo "";
echo "<li>Commander";
echo "<li>Vider le panier";

echo "<li>Continuer";
echo "
";
echo ", \";
echo \"\";
echo "
"."\r\n";


?>

1 réponse

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
20 avril 2008 à 13:24
Hello,

là comme ça difficile de t'aider, il faudrait que quelqu'un débugge un peu ton script parce que l'erreur ne doit pas être visible. Commence par vérifier si ta connexion à la base est correcte, si les requêtes s'exécutent, si tes sessions marchent.

à+
0
Rejoignez-nous