[PHP] fonction

Fermé
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 4 déc. 2008 à 21:51
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 5 déc. 2008 à 18:18
Bonjour,

J'ai une fonction pour mon panier virtuel pour modifier le nombre d'articles que le client achète et met dans son panier virtuel.
function modif_quantite($ref_article, $quantite)
{
	/* On initialise la variable de retour */
	$modifie = false;
    if(!isset($_SESSION['panier']['verrouille']) || $_SESSION['panier']['verrouille'] == false)
    {
        if(nombre_article($ref_article) != false && $quantite != nombre_article($ref_article))
        {
            /* On compte le nombre d'articles différents dans le panier */
            $nb_articles = count($_SESSION['panier']['id_produit']);
            /* On parcoure le tableau de session pour modifier l'article précis. */
            for($i = 0; $i < $nb_articles; $i++)
            {
                if($ref_article == $_SESSION['panier']['id_produit'][$i])
                {
                    $_SESSION['panier']['quantite'][$i] = $quantite;
                    $modifie = true;
                }
            }
        }
        else
        {
            /* L'article est absent du panier, donc on ne peut pas modifier la quantité ou bien
		            * le nombre est exactement le même et il est inutile de le modifier
		            * Si l'article est absent, comme on a ni la taille  ni le prix, on ne peut pas l'ajouter
		            * Si le nombre est le même, on ne fait pas de changement. On peut donc retourner un autre type de valeur pour indiquer une erreur qu'il faudra traiter à part lors du retour d'appel
		            */
            if(nombre_article($ref_article) != false)
            {
                $modifie = "absent";
            }
            if($quantite != nombre_article($ref_article))
            {
                $modifie = "quantite_ok";
            }
        }
    }
    return $modifie;
}


mais le problème, c'est que quand je modifie une quantité grâce a cette fonction, le nombre contenue dans la variable de session ($_SESSION['panier']['quantite']) est vide :/

avec quelque écho, j'ai vérifié que lors de l'envoi, il y a bien les champs post rempli avec le bon nombre.
par contre lorsque je fais un écho $modifie, là, la variable n'affiche rien.

Où se trouve le problème?
A voir également:

2 réponses

pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
5 déc. 2008 à 00:07
si tu fais :

<?php

echo modif_quantite($ref_article, $quantite);

?>

ta fonction doit te retourner la valeur de $modifie vu que c'est elle qui est renvoyé par la commande "return" à la fin de la fonction.
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
5 déc. 2008 à 18:18
Merci pour ta réponse, c'était tout simple :)

Par contre, j'ai une autre question, au début, je dit que la variable $modifie = false
et après si tout s'est bien déroulé, je le met égal a true
Sauf que ma fonction me retourne toujours false, pourquoi?
0