Suppression d'article d'un panier

Signaler
Messages postés
49
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2005
-
Messages postés
49
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2005
-
bonjour!
petit problème lors de la suppression d'article dans mon panier
on m'a aidé mais ça ne marce pas... et je ne comprends pas vraiment pourquoi...


voici les codes :


<?


include ("definitioninfo.php");
include ("aff_panier.inc.php");


if (!session_id())
 session_start();
 



if (!isset($_SESSION['panier']))    //$panier pas defini              //sert pour la gestion du panier
{                                                           //ne pas tenir compte pr le moment
 $panier =  array (
  "ref_produit" => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23),
  "quantite"  => array (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 );
 $_SESSION['panier'] = $panier;
 $_SESSION['total'] = 0;
  }


session_register('article');
session_register('prix');
session_register('quantite');
session_register('ref_produit');
//$_POST['quantite']= $_SESSION['quantite'];
 // $_POST['article'] = $_SESSION['article'];


for ($i = 0; $i < 23; $i++)                                          //pr le panier
{
 //echo("article : ".$_SESSION['panier']['ref_produit'][$i]);
 //echo(" quantite : ".$_SESSION['panier']['quantite'][$i]."
");
}



$quantite = $_POST['quantite'];
$article = $_POST['article'];
///echo "quantite post = ".$quantite;



if(!($base=mysql_connect("localhost","root","")))
{
 echo "
 probleme lors de la connexion &#224; MySql 
";
 exit();
}
else
{
 mysql_select_db(BASE, $base);
 if (($tab_com  = mysql_query("SELECT ref_produit, designation_produit, prix_produit
                        FROM produit
                WHERE designation_produit =  '".$article."'", $base)))
$res_com = mysql_fetch_array($tab_com);   //tableau contenant les valeurs de la requete (resultat_commande)
}


$_SESSION['article'] = $res_com[1];
$_SESSION['prix'] = $res_com[2];
$_SESSION['quantite'] = $quantite;
$_SESSION['ref_produit']= $res_com[0];


//$_SESSION['panier']['quantite'][$_SESSION['ref_produit']]++;            //pr le panier
$_SESSION['panier']['quantite'][$_SESSION['ref_produit']] = $_SESSION['panier']['quantite'][$_SESSION['ref_produit']]+$quantite;


$_SESSION['total'] = $_SESSION['total']+($res_com[2]*$quantite);
//$_SESSION['TTC'] = $_SESSION['total']+ $_SESSION['total']*(19.6/100); // &#224; aligner a droite



echo "<html>
<head>
<title>Bienvenue sur materiel-informatique.fr</title></head>

Votre Panier de Commande :

<form method = "POST" action="[Supprimer');
}



if(!($base=mysql_connect("localhost","root","")))
{
echo "
 probleme lors de la connexion &#224; MySql 
";
exit();
}
else
{
mysql_select_db(BASE, $base);
for ($i  = 1; $i <=  23 ; $i++)
{
if (($tab_com = mysql_query("SELECT ref_produit, designation_produit, prix_produit
          FROM produit
         WHERE ref_produit = '".$_SESSION['panier']['ref_produit'][$i]."' AND '".$_SESSION['panier']['quantite'][$i]."' > 0", $base)))


$res_com = mysql_fetch_array($tab_com); //tableau contenant les valeurs de la requete (resultat_commande)
//print_r ($res_com);


$quantite = $_SESSION['panier']['quantite'][$i];
$prix = $res_com[2]*$quantite;


if ($quantite > 0)
{
echo " <tr align="center">
<td> ".$res_com[0]." </td>
<td>".$res_com[1]."</td>
<td>".$res_com[2]."</td>
<td>".$quantite."</td>
<td>".$prix." ?</td>
<td><form>
<select name =liste>
  <option value=".$_SESSION['panier']['quantite'][$i]."</option>
  </select>
  </form>



<td></td>


</tr>";
if(isset($_POST['sub_form' == 'supprimer'])) {


// si suppression
// on test si on y est 
echo "
Je suis bien dans la boucle suppression etape 1 --> isset";


if($_POST['sub_form']=="supprimer") {
// on test si on y est 
echo "
Je suis bien dans la boucle suppression etape 2 --> ==supprimer";
if ( isset($_SESSION['panier']['ref_produit'][$i]) ) {
echo "
je suis dans le cas ou on a bien une reference d&amp;ns la session";


unset($_SESSION['panier']['ref_produit'][$i]);
}
else
{
echo "
il n'y a pas de r&#233;f&#233;rence dans la session";
}
}
else
{
echo "
sub_form n'est pas &#233;gal &#224; "supprimer"";
}
}
else
{
echo "
sub_form n'a pas de valeur ou n'existe pas";
}



}
}
}



}


//<form methodPOST action 'supprime.php'>


//
//
//</form>
//


//onClick='alert("voullez vous vraiment supprimer?")'>
?>



j'ai mis la fonction permettant de supprimer un article de mon panier dans aff_panier.inc.php


je suis assez embetée car ça fait plusieurs jours que je buche dessus et que je n'arrive à pas grand chose... :(


merci poour votre aide...

10 réponses

Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Encore ?

Je me répète :
if (!session_id())
session_start();
NE SERT A RIEN ETANT DONNEE QU'UN ID DE SESSION NE PEUT EXISTER QUE SI UNE SESSION A DEJA DEMMARREE !!!!!!!!!!!!!!!!

De plus, c'est quoi l'erreur ? Car sans erreur, pas de soluc :o
Messages postés
49
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2005

et oui encore vue que je n'ai pas trouvé de solution à mon probleme
ba il ne se passe rien...
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Pour pouvoir débugger tranquillement, il faut faire des echo();

Donc, il faut tester ligne par ligne jusqu'à trouver le bon truc.
echo 'test';
echo $_SESSION['variable'];
etc...

Parce que la :o
Moi je vois pas !
Messages postés
49
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2005

oui c'est pour ça que je ne comprends pas pourquoi ça marche
pourtant ya des tests comme ceci :
if(isset($_POST['sub_form' == 'supprimer'])) {


// si suppression
// on test si on y est 
echo "
Je suis bien dans la boucle suppression etape 1 --> isset";


if($_POST['sub_form']=="supprimer") {
// on test si on y est 
echo "
Je suis bien dans la boucle suppression etape 2 --> ==supprimer";
if ( isset($_SESSION['panier']['ref_produit'][$i]) ) {
echo "
je suis dans le cas ou on a bien une reference d&amp;ns la session";


unset($_SESSION['panier']['ref_produit'][$i]);
}
else
{
echo "
il n'y a pas de r&#233;f&#233;rence dans la session";
}
}
else
{
echo "
sub_form n'est pas &#233;gal &#224; "supprimer"";
}
}
else
{
echo "
sub_form n'a pas de valeur ou n'existe pas";
}



}
}
}
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

if(isset($_POST['sub_form' == 'supprimer'])) {

if(isset($_POST['sub_form']) AND $_POST['sub_form']=== 'supprimer'])) {

car sinon ça marchera pas...
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
49
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2005

merci pour ta réponse!
alors j'ai mis ton bout de code comme suit :


//if(isset($_POST['sub_form' == 'supprimer'])) {


// si suppression
// on test si on y est 
//echo "
Je suis bien dans la boucle suppression etape 1 --> isset";


if(isset($_POST['sub_form' == 'supprimer'])) {


if(isset($_POST['sub_form']) AND $_POST['sub_form']=== 'supprimer') {



// on test si on y est 
echo "
Je suis bien dans la boucle suppression etape 2 --> ==supprimer";


if ( isset($_SESSION['panier']['ref_produit'][$i]) ) {
echo "
je suis dans le cas ou on a bien une reference d&amp;ns la session";


unset($_SESSION['panier']['ref_produit'][$i]);
}
else
{
echo "
il n'y a pas de r&#233;f&#233;rence dans la session";
}
}
else
{
echo "
sub_form n'est pas &#233;gal &#224; 'supprimer'";
}
}
else
{
echo "
sub_form n'a pas de valeur ou n'existe pas";
}


}
}
}
}


et ça me donne comme erreur :
sub_form n'a pas de valeur ou n'existe pas
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Nonon,
remplace
if(isset($_POST['sub_form' == 'supprimer'])) {

par

if(isset($_POST['sub_form']) AND $_POST['sub_form']=== 'supprimer'])) {
Messages postés
49
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2005

jm disais aussi, 2 fois le meme bout de code :s
c'est chelou ça ne marche pas :s
ça me donne :
sub_form n'est pas égal à 'supprimer'
sub_form n'a pas de valeur ou n'existe pas

:(
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Revois les bases du PHP à mon avis ;-)

a +
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
49
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2005

je suis ce que tu me propose...