Bon voilà j'ai déjà posé la question dans le forum PHP, on m'a conseillé de voir avec les spécialiste JS, alors je vous copie le message :
Bonjour,
Voilà j'ai un ptit soucis (euphémisme), je vous explose le problème. Je suis en train de développer une boutique en ligne et dans l'espace d'admin je suis en train de créer une page dédiée à la saisie d'une commande par un employé dla boite.
Cette page comprends un formulaire avec plusieurs informations et une partie dédiée au panier. Sur l'espace dédié au panier on trouve un lien "Ajouter des produits au panier" qui ouvre un pop-up où l'employé va pouvoir aller chercher le produit à ajouter au panier.
C'est là que ca cloche en effet lors de l'ajout dans le panier je remplis ma session (panier) avec les infos de ce produit et je reload la page parente par la fonction Javascript suivante [cpp]window.parent.opener.location.reload(); [/cpp]
afin que l'affichage du panier soit cohérent.
Tout fonctionne parfaitement sous FF ou encore Opéra mon panier est bien mis à jour, mais sous IE c'est la merdasse ca me le met pas a jour, la fonction JS a bien l'air de s'exécuter mais je pense que le problème se situe au niveau des sessions.
Voilà le code après le click "ajouter un produit dans le panier"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $panier->ajout_panier($_GET['uvc'], '1', 'L', '7.90'); echo "<script language='JavaScript' type='text/javascript'> window.parent.opener.location.reload(); </script>";
et l'affichage du contenu du panier :
ma classe panier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 if (!isset($_SESSION['panier'])) echo '<bold>Aucun produit dans le panier</bold>'; else { for($i=0;$i<=count($_SESSION['panier']['id_article'])-1;$i++) { echo $_SESSION['panier']['id_article'][$i]; } }
J'ai fais des recherches, j'ai vu que ca pouvait éventuellement venir d'une erreur de cache au niveau d'IE mais g tout vidé et ca marche pas plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php class panier { function __construct() { if(!isset($_SESSION['panier'])) { /* Initialisation du panier */ $_SESSION['panier'] = array(); /* Subdivision du panier */ $_SESSION['panier']['id_article'] = array(); $_SESSION['panier']['qte'] = array(); $_SESSION['panier']['taille'] = array(); $_SESSION['panier']['prix'] = array(); } } function ajout_panier($uvc, $qte, $taille, $prix) { array_push($_SESSION['panier']['id_article'],$uvc); array_push($_SESSION['panier']['qte'],$qte); array_push($_SESSION['panier']['taille'],$taille); array_push($_SESSION['panier']['prix'],$prix); } } ?>
J'ai fait quelques tests au niveaux des sessions et lorsque je fais un affichage d'une valeur contenue dans la session panier lorsque je suis dans le popup pas de soucis mais dès lors que je me trouve dans la page parente impossible avec IE !
Donc voilà je fais appel à vous !
Merci d'avance de prendre le temps de lire le message et de me répondre
Partager