Erreur Caddie_affichage.php

34 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

Au moment de supprimer un article dans le panier il s'affiche un message très particulier :

Notice: Trying to get property of non-object in achat\caddie_affichage.php on line 24

Notice: Trying to get property of non-object in achat\caddie_affichage.php on line 24

Warning: Cannot modify header information - headers already sent by (output started at achat\caddie_affichage.php:24) in achat\caddie_affichage.php on line 56
Cela correspond au code suivant :
		case "enleve" :


			/* Décrementation de la table peel_stocks_temporaires */


			$error = array();


			$qte = $_SESSION['caddie']->quantite[$_GET['ligne']];


			$resC = mysql_query("SELECT id FROM peel_couleurs WHERE om_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$_GET['ligne']]."'");


			$C = mysql_fetch_object($resC);


			$resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$_GET['ligne']]."'");


			$T = mysql_fetch_object($resT);

			// ligne 24

			$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'";


			@mysql_query($sql) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());


			$_SESSION['caddie']->enleve(intval($_GET['ligne']));


			$_SESSION['caddie']->nettoie();


			$_SESSION['caddie']->recalc_total();


			if (!empty($_SESSION['caddie']->code_cheque)) { 


			$error_check = calcul_code_cheque_cadeau($_SESSION['caddie']->code_cheque); 


			array_push($error, $error_check);


			}


			if (!empty($_SESSION['caddie']->code_bon)) { 


			$error_bon = calcul_code_bon_reduction($_SESSION['caddie']->code_bon); 


			array_push($error, $error_bon);


			}


			if (!empty($_SESSION['caddie']->type)) { 


			calcul_frais_expedition(vb($_SESSION['caddie']->type));


			}

			//ligne 56

			header("Location:".$_SERVER["PHP_SELF"]);


break;

Quelqu'un a déjà eu affaire à ce type de message ???

J'ai un serveur qui est configuré pour que des pages en PHP5 !

Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je pense que ton erreur est dans une de ces lignes:

$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'";

Tente de faire un echo de "intval($_SESSION['caddie']->articles[$_GET['ligne']])"

De "vn(intval($C->id))"

De "vn(intval($T->id))"

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je pense que ton erreur est dans une de ces lignes:

$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'";

Tente de faire un echo de "intval($_SESSION['caddie']->articles[$_GET['ligne']])"

De "vn(intval($C->id))"

De "vn(intval($T->id))"

Willy

Slt Willy,

Merci pour cette astuce mais je l'essaierai plus tard car la je suis au taf et je ne peux pas renvoyer la modif du code source. Par contre sache que c'est le code d'origine fourni par PEEL premium.

En plus chose bizarre sur le serveur de test qui est sur FREE cela fonctionne parfaitement. Mais quand je teste en réel sur leur serveur la j'ai cette erreur. Leur serveur est configuré en PHP5 et si je met le serveur en configuration PHP4 le script tourne en rond sans redonner la main et sans avoir enlevé l'article !

Tiens au passage, y t-il une solution pour décrémenter le nombre d'article commandé au lieu de le supprimer complètement.

++

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Tiens au passage, y t-il une solution pour décrémenter le nombre d'article commandé au lieu de le supprimer complètement.

Je pense que c'est faisable, le caddie est un objet, il faut donc modifier la ligne plutot que de la supprimer.

Par contre il faut revoir la gestion du stock apres, ne pas commander plus que le stock, MAJ du stock virtuel, etc...

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je pense que ton erreur est dans une de ces lignes:

$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'";

Tente de faire un echo de "intval($_SESSION['caddie']->articles[$_GET['ligne']])"

De "vn(intval($C->id))"

De "vn(intval($T->id))"

Willy

Slt Willy,

Peux-tu m'aider à faire cet ECHO stp !

Ou dois-je placer les lignes ???

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

juste avant votre requete sql :

$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'";
Mettez:
echo "Ligne article: " .intval($_SESSION['caddie']->articles[$_GET['ligne']]) ."<BR>";

echo "C id " .vn(intval($C->id))."<BR>";

echo "T id " .vn(intval($T->id))."<BR>";

Ca vous affichera des lignes en plus.

Il y aura toujours l'erreur, mais au moins on saura sur quelle(s) ligne(s) ca plante.

retentez de supprimer un article d'une commande et dites nous ce qu'il se passe.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

n' y aurait il pas encore le souci avec les lignes blanches du code ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

n' y aurait il pas encore le souci avec les lignes blanches du code ?

Slt,

C'est à dire ? Je comprend pas trop ta phrase Paulanna !

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Est ce qu'il n'y a pas uen ligne blanche tout en haut de ta page de code ?

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Est ce qu'il n'y a pas uen ligne blanche tout en haut de ta page de code ?

Willy

Slt Willy,

A ma connaissance non je n'ai pas de ligne blanche en haute de ma page caddie_affichage.php.

ex :

<?

include("../configuration.inc.php");

if (isset($_REQUEST['func'])) {

	switch ($_REQUEST['func']) {

		case "enleve" :

			/* Décrementation de la table peel_stocks_temporaires */

			$error = array();

			$qte = $_SESSION['caddie']->quantite[$_GET['ligne']];

			$resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$_GET['ligne']]."'");

			$C = mysql_fetch_object($resC);

			$resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$_GET['ligne']]."'");

			$T = mysql_fetch_object($resT);


echo "Ligne rajoute à la demande de Willy :<br>";

echo "Ligne article: " .intval($_SESSION['caddie']->articles[$_GET['ligne']]) ."<BR>";

echo "C id " .vn(intval($C->id))."<BR>";

echo "T id " .vn(intval($T->id))."<BR>";


			$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'";

.....

.....

Je t'envoi en MP le lien du site pour tester !

Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Quelqu'un a-t-il de nouvelles idées pour mon problème ???

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Quelqu'un a-t-il de nouvelles idées pour mon problème ???

Merci

On ne peut pas vous contacter par Message Personnel

Merci de me contacter par mail

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Mon code est le suivant:

<?

include("../configuration.inc.php");


if (isset($_REQUEST['func'])) {


	switch ($_REQUEST['func']) {


		case "enleve" :


			/* Décrementation de la table peel_stocks_temporaires */


			$error = array();


			$qte = $_SESSION['caddie']->quantite[$_GET['ligne']];


			$resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$_GET['ligne']]."'");


			$C = mysql_fetch_object($resC);


			$resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$_GET['ligne']]."'");


			$T = mysql_fetch_object($resT);


			$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']])."' AND couleur_id = '".vn(intval($C->id))."' AND taille_id = '".vn(intval($T->id))."'";


			@mysql_query($sql) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());


			$_SESSION['caddie']->enleve(intval($_GET['ligne']));


			$_SESSION['caddie']->nettoie();


			$_SESSION['caddie']->recalc_total();


			if (!empty($_SESSION['caddie']->code_cheque)) { 


			$error_check = calcul_code_cheque_cadeau($_SESSION['caddie']->code_cheque); 


			array_push($error, $error_check);


			}


			if (!empty($_SESSION['caddie']->code_bon)) { 


			$error_bon = calcul_code_bon_reduction($_SESSION['caddie']->code_bon); 


			array_push($error, $error_bon);


			}


			if (!empty($_SESSION['caddie']->type)) { 


			calcul_frais_expedition(vb($_SESSION['caddie']->type));


			}


			header("Location:".$_SERVER["PHP_SELF"]);



		break;

Sinon ya t'il des enregistrements dans les tables de taille et de couleur ?

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

On ne peut pas vous contacter par Message Personnel

Merci de me contacter par mail

Bonjour,

Le message personnel ne fonctionne pas !!!

Bref je viens d'envoyer un mail sur GMAIL.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Sinon ya t'il des enregistrements dans les tables de taille et de couleur ?

Willy

slt willy,

oui il peut y avoir des options de type couleur ! tu n'as pas eu le lien du site en MP ???

Sinon merci pour ton bout de code ... je le teste ce soir !

++

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

slt willy,

oui il peut y avoir des options de type couleur ! tu n'as pas eu le lien du site en MP ???

Sinon merci pour ton bout de code ... je le teste ce soir !

++

Bonjour,

j'ai bien eu le lien et j'ai bien l'erreur citée.

L'erreur dit que $C et $T ne sont pas des objets, alors que si... :)

Pour la session, on verra apres.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Sinon il faut tester avec ca:

<?

include("../configuration.inc.php");

if (isset($_REQUEST['func'])) {

	switch ($_REQUEST['func']) {

		case "enleve" :

			/* Décrementation de la table peel_stocks_temporaires */

			$error = array();

			$qte = $_SESSION['caddie']->quantite[$_GET['ligne']];

			$resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$_GET['ligne']]."'");

			$C = mysql_fetch_object($resC);

			$resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$_GET['ligne']]."'");

			$T = mysql_fetch_object($resT);


			$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']]) ."'";



			if (mysql_num_rows(resC) > 0) { 

						$sql = $sql . " AND couleur_id = '".vn(intval($C->id))."'";

			}


			if (mysql_num_rows(resT) > 0) { 

						$sql = $sql . " AND taille_id = '".vn(intval($T->id))."'";


			}



			@mysql_query($sql) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());


			$_SESSION['caddie']->enleve(intval($_GET['ligne']));


			$_SESSION['caddie']->nettoie();


			$_SESSION['caddie']->recalc_total();


			if (!empty($_SESSION['caddie']->code_cheque)) { 


			$error_check = calcul_code_cheque_cadeau($_SESSION['caddie']->code_cheque); 


			array_push($error, $error_check);


			}


			if (!empty($_SESSION['caddie']->code_bon)) { 


			$error_bon = calcul_code_bon_reduction($_SESSION['caddie']->code_bon); 


			array_push($error, $error_bon);


			}


			if (!empty($_SESSION['caddie']->type)) { 


			calcul_frais_expedition(vb($_SESSION['caddie']->type));


			}


			header("Location:".$_SERVER["PHP_SELF"]);



		break;

S'il n'y a pas de récultat sur les requetes de taille ou de couleur ca ce prend pas en compte les objets...

J'ai vu que si on met un de ses critères, il y a uen erreur en moins, par exemple la taille.

Si on met un cadre avec une taille et qu'on le supprime, il n'y a pas d'erreur sur la taille.

A tester :)

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ce n'est pas un proble de require qui ne se fait pas suite à un mauvais lien ou quelque chose comme ca qui fait que cela n'initialise pas les objets?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Non visiblement s'il n'y a pas de taille ou de couleur ca met des messages d'erreur...

Sinon c'est à l'initialisation de la ligne de cde qu'il y a un soucis, peut etre que couleur et taille ne sont pas initialisés ?

Test (avec et sans critère de taille et de couleur) avec mon dernier code et dis moi si ca fonctionne. Il faut voir que l'article se supprime bien du caddie ET que le stock est bien affecté par le changement.

Dis nous aussi s'il y a encore l'erreur de session.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Non visiblement s'il n'y a pas de taille ou de couleur ca met des messages d'erreur...

Sinon c'est à l'initialisation de la ligne de cde qu'il y a un soucis, peut etre que couleur et taille ne sont pas initialisés ?

Test (avec et sans critère de taille et de couleur) avec mon dernier code et dis moi si ca fonctionne. Il faut voir que l'article se supprime bien du caddie ET que le stock est bien affecté par le changement.

Dis nous aussi s'il y a encore l'erreur de session.

Willy

pas de problème, je teste et te donne la réponse au plus vite.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

j'ai le même problème que cedric ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

pas de problème, je teste et te donne la réponse au plus vite.

Alors ca a donné quoi ? :)

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

j'ai le même problème que cedric ...

Et que donne ma solution ?

Quelle version avez vous ?

Peut on avoir une adresse de voter boutique ?

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Et que donne ma solution ? Quelle version avez vous ? Peut on avoir une adresse de voter boutique ?

Willy

Bonjour,

Les problèmes persistent et signent !!!!

Pour faire court :

j'ai remis la version d'origine de peel premium pour écarter toutes eventualités de modif de script apportés par mes soins.

Version PEEL : ici

Version Original : ici

Bien entendu la version de peel s'appuit sur les variables de l'original.

Les messages d'erreurs s'affichent encore.

Autres précisions sur l'hébergeur : http://www.hebergeur-discount.com/

Il est en safe-mode donc il interdit certaines fonctions. http://www.hebergeur-discount.com/faq/category.php?catID=5

Il est possible également de configurer le serveur en PHP4 - PHP5 - PHP6(dev)

Quand je met le serveur en PHP4 le script tourne en boucle sans afficher de message d'erreur mais il ne supprime pas l'article dans le panier (d'ailleur il n'affiche meme pas la boite de dialogue pour la confirmation de suppression)

Quand je met le serveur en PHP5 le script s'execute mais affiche un message d'erreur et n'affiche pas les images dans le reste de la page.

   <b>Notice</b>:  Trying to get property of non-object in <b>d:\www\digital-mouse.com\htdocs\peel\achat\caddie_affichage.php</b> on line <b>20</b>


	 <b>Notice</b>:  Trying to get property of non-object in <b>d:\www\digital-mouse.com\htdocs\peel\achat\caddie_affichage.php</b> on line <b>20</b>


	 <b>Warning</b>: Cannot modify header information - headers already sent  by (output started at  d:\www\digital-mouse.com\htdocs\peel\achat\caddie_affichage.php:20) in <b>d:\www\digital-mouse.com\htdocs\peel\achat\caddie_affichage.php</b> on line 52

Amicalement les z'amis PEEL pour votre aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Même avec mon dernier code ?

<?

include("../configuration.inc.php");

if (isset($_REQUEST['func'])) {

	switch ($_REQUEST['func']) {

		case "enleve" :

			/* Décrementation de la table peel_stocks_temporaires */

			$error = array();

			$qte = $_SESSION['caddie']->quantite[$_GET['ligne']];

			$resC = mysql_query("SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->couleur[$_GET['ligne']]."'");

			$C = mysql_fetch_object($resC);

			$resT = mysql_query("SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']." = '".$_SESSION['caddie']->taille[$_GET['ligne']]."'");

			$T = mysql_fetch_object($resT);


			$sql = "UPDATE peel_stocks_temp SET stock = stock + $qte, qte = qte - $qte WHERE produit_id = '".intval($_SESSION['caddie']->articles[$_GET['ligne']]) ."'";



			if (mysql_num_rows(resC) > 0) { 

						$sql = $sql . " AND couleur_id = '".vn(intval($C->id))."'";

			}


			if (mysql_num_rows(resT) > 0) { 

						$sql = $sql . " AND taille_id = '".vn(intval($T->id))."'";


			}



			@mysql_query($sql) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());


			$_SESSION['caddie']->enleve(intval($_GET['ligne']));


			$_SESSION['caddie']->nettoie();


			$_SESSION['caddie']->recalc_total();


			if (!empty($_SESSION['caddie']->code_cheque)) { 


			$error_check = calcul_code_cheque_cadeau($_SESSION['caddie']->code_cheque); 


			array_push($error, $error_check);


			}


			if (!empty($_SESSION['caddie']->code_bon)) { 


			$error_bon = calcul_code_bon_reduction($_SESSION['caddie']->code_bon); 


			array_push($error, $error_bon);


			}


			if (!empty($_SESSION['caddie']->type)) { 


			calcul_frais_expedition(vb($_SESSION['caddie']->type));


			}


			header("Location:".$_SERVER["PHP_SELF"]);



		break;

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping