Lien ne lançant pas la fonction voulu :/

Nouveau WRInaute
Bonjour ( et oui encore moi -_-' )

Je voulais avoir votre aide sur le fait que mon lien ne lance pas la fonction que je voulais faire.
Tout d'abord, j'ai suivi ( limite copier collé ) le tutorial de création de panier présent ici : http://jcrozier.developpez.com/articles/web/panier/

Donc j'ai changé le panier.php en MPanier.class.php ( pour garder la logique sur mon site )
Ainsi quand j'utilise le lien :
<a href="classes/MPanier.class.php?action=ajout&amp;l=LIBELLEPRODUIT=<?PHP echo ($List_Presta[$j]['0']); ?>;q=QUANTITEPRODUIT=1;p=PRIXPRODUIT=<?PHP echo ($List_Presta[$j]['5']); ?>" onclick="window.open(this.href, ' ',
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;">Ajouter au panier</a>

Bien entendu les $List_Presta['$j']['chiffre'] sont les références aux données renvoyé par une fonction sur laquelle nous avons travaillé précédemment ( encore merci à vous ). Voici les petites modification apporté à la fonction d'ajout ( car les caractère spéciaux ne passaient pas dans l'url ... )

Code:
function ajouterArticle($id_produit,$qteProduit,$prixProduit)
	{
		$Produit = new MProduit();
		$libelle = $Produit->Get_Libelle($id_produit);
		//Si le panier existe
		if (creationPanier() && !isVerrouille())
		{
			//Si le produit existe déjà on ajoute seulement la quantité
			$positionProduit = array_search($libelle['0'],  $_SESSION['panier']['libelleProduit']);

			if ($positionProduit !== false)
			{
				$_SESSION['panier']['qteProduit'][$positionProduit] += $qteProduit ;
			}
			else
			{
				//Sinon on ajoute le produit
				array_push( $_SESSION['panier']['libelleProduit'],$libelle['0']);
				array_push( $_SESSION['panier']['qteProduit'],$qteProduit);
				array_push( $_SESSION['panier']['prixProduit'],$prixProduit);
			}
		}
		else
			echo "Un problème est survenu veuillez contacter l'administrateur du site.";
	}

Voilà. En espérant que vous pourrez m'aider, car il ne manque plus que cela pour rendre mon panier fonctionnel ...
Merci d'avance.
Cordialement
 
Nouveau WRInaute
Bon le problème est en partie réglé. J'ai un problème d'index. : Undefined index: verrou
alors que je fait cette fonction au préalable :
function creationPanier()
{
if (!isset($_SESSION['panier']))
{
$_SESSION['panier']=array();
$_SESSION['panier']['libelleProduit'] = array();
$_SESSION['panier']['qteProduit'] = array();
$_SESSION['panier']['prixProduit'] = array();
$_SESSION['panier']['verrou'] = false;
}
return true;
}

Quelqu'un à une idée ?
 
WRInaute accro
dans quel contexte de session se produit l'erreur ? est elle active ?
des détail sur la ligne qui provoque l'erreur pourrait aider.
 
Nouveau WRInaute
if (isset($_SESSION['panier']) && $_SESSION['panier']['verrou'])

Je pense que je vais passé sur un panier en BD. Car là j'en ai marre ( environ 8h de casse tête dessus ... )
 
WRInaute accro
Cette erreur proviens d'une tentative d'accès a un champ de tableau pas initialisé c'est pour cela que je te demandais où elle se produit et si a cet endroit la session est active (session_start()), car si elle est inactive, même si la variable a bien été initialisée autre part, tu n'y aura pas accès d’où le code erreur ... (tu peux rencontrer cette erreur sur une variable existante mais hors porté)
Il est donc impératif de savoir où cela se produit et comment dans le contexte d’exécution du script.
 
Nouveau WRInaute
J'étais en session_start() .... J'ai changé ma fonction d'ajout pour rentrer les tuples dans une table "panier" mais, celle-ci ne fonctionne pas :/ Si vous avez une idée de pourquoi elle ne lance pas l'insert .... :
function ajouterArticle($id_produit,$prix)
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root@localhost', '');
$quantite = 1;
$USR = $_SESSION['USR_ID'];
echo ($USR);

//Utilisation de la requête générant les tuples
$reponse = $bdd->query("INSERT INTO PANIER (ID_PRESTA, ID_USR, QUANTITE, PRIX) VALUES ('".$id_produit."', '".$USR."', '".$quantite."', '".$prix."'");

// Termine le traitement de la requête
//$reponse->closeCursor();

}
 
Nouveau WRInaute
En faite, il n'aime pas le PDO. Quand je le fait comme cela :
define ('SERVEUR', 'localhost');
define ('USER', 'root@localhost');
define ('Paswd', '');
define ('db', 'test');

$cnx = mysql_connect(SERVEUR, USER,Paswd, db) ;
$DB = mysql_select_db(db) ;
$sql = "INSERT INTO PANIER (ID_PRESTA, ID_USR, QUANTITE, PRIX) VALUES ('".$id_produit."', '".$USR."', '".$quantite."', '".$prix['0']."')" ;

$requete = @mysql_query($sql, $cnx) or die($sql."<br>".mysql_error());

ça tourne :/
 
Discussions similaires
Haut