Bonjour,
Je vous écris car cela va faire plusieurs jours que je cherche une solution à mon problème.. en vain.
J'ai créer un panier virtuel pour une société et il fonctionne bien sous Internet Explorer peu importe la version, par contre, sous firefox, le panier reste vide malgré l'ajouts d'articles, étant donné que PHP est traité niveau serveur et que cela marche sous IE, je ne comprend pas pourquoi ma session reste vide sous Firefox.
Je vous explique le fonctionnement de ce caddy :
L'utilisateur a le choix entre l'ensemble des lots dans un tableau, il clique sur un bouton "ajouter au panier", une fois cela fait une nouvelle page s'ouvre ou je recupère les données du lot grâce a un GET. L'utilisateur propose une offre pour ce lot (c'est une enchère) et valide ensuite l'ajout grâce a un bouton.
Ce bouton appelle une nouvelle page qui recupère l'ensemble des données et les poste dans la Session du panier (via un $_POST) et il semblerai que c'est ici que le problème survient car la Session de mon panier reste vide, le lot ne s'ajoute pas sous Firefox..
Pouvez-vous m'aider?
Voici les différents code, je ne met pas le panier car je ne pense pas que l'erreur vient de lä.. je pense qu'elle se passe en amont lors de l'ajout.
code de la page kart.php où on recupère les données du lot et on propose une offre :
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> // code javascript pour vörifier si l'offre est bien supérieure au prix de départ de l'article <script type="text/javascript"> function plusgrand() { if(document.formulaire.offre.value == "") { alert("Veuillez proposer une offre"); document.formulaire.offre.focus(); return false; } if(Number(document.formulaire.ausruf.value) > Number( document.formulaire.offre.value)) { alert("Votre offre doit être supérieure au prix de départ"); return false; } var chkZ = 1; for(i=0;i<document.formulaire.offre.value.length;++i) if(document.formulaire.offre.value.charAt(i) < "0" || document.formulaire.offre.value.charAt(i) > "9") chkZ = -1; if(chkZ == -1) { alert("Votre offre doit être un nombre entier"); document.formulaire.offre.focus(); return false; } } </script> </head> <body> <form method='POST' name="formulaire" action='viewkart1.php' onSubmit="return plusgrand()"> <?php //ici je recupère mes données grâce au GET $bild_datei= stripslashes($_GET['bild_datei']); $losnr= stripslashes($_GET['losnr']); $foto_datei= stripslashes($_GET['foto_datei']); $legende= stripslashes($_GET['legende']); $ausruf= stripslashes($_GET['ausruf']); $vente= stripslashes($_GET['vente']); $modif= stripslashes($_GET['modif']); // je recapitule toutes les données dans un tableu sous forme de formulaire, l'utilisateur propose une offre echo "Vous avez choisi le lot suivant :</br></br> <table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"98%\" bgcolor=\"#000066\"> <tr bgcolor='#000066'> <th><FONT color='#ffffff' face='Times New Roman' size='3'>Lot n°</font></th> <th><FONT color='#ffffff' face='Times New Roman' size='3'>Photo</font></th> <th><FONT color='#ffffff' face='Times New Roman' size='3'>Description</font></th> <th><FONT color='#ffffff' face='Times New Roman' size='3'>Prix de départ €</font></th> <th><FONT color='#ffffff' face='Times New Roman' size='3'>Offre €</font></td> <th><FONT color='#ffffff' face='Times New Roman' size='3'><img src='images/panier.jpg'></font></th> </tr> <tr style='background-color:#9B9BFF' onMouseOver=\"this.style.backgroundColor='EBF5FC'\" onMouseOut=\"this.style.backgroundColor='9B9BFF' \"> <th><FONT color='#000000' face='Times New Roman' size=3><input type='hidden' id='losnr' name='losnr' value='$losnr'/>$losnr</font></th> <th><FONT color='#000000' face='Times New Roman' size=3><input type='hidden' id='foto_datei' name='foto_datei' value='$foto_datei'/><a target=\"_blank\" href='bild_soluphil_zeigen110-1.php?bild_datei=$bild_datei&losnr=$losnr&ausruf=$ausruf&legende=$legende'><img src='$foto_datei' border='0'/></a></font></th> <th><FONT color='#000000' face='Times New Roman' size=3><input type='hidden' id='legende' name='legende' value='$legende'/>$legende</font></th> <th align='center'><FONT color='#000000' face='Times New Roman' size=3><input type='hidden' id='ausruf' name='ausruf' value='$ausruf'/>$ausruf,00</font></th> <td align='center'><input type='text' id='offre' size='6' name='offre' MAXLENGTH='10'/></td> <input type='hidden' id='bild_datei' name='bild_datei' value='$bild_datei'/> <input type='hidden' id='vente' name='vente' value='$vente'/> <input type='hidden' id='modif' name='modif' value='$modif'/> <td align='center'><input type='submit' id='submit' name='submit' value='Ajouter' /></td> </tr> </table>"; // une fois l'offre proposée, le client valide en cliquant sur le bouton ajouter qui appelle la page viewkart1.php ?> </form> </body> </html>
La page viewkart1.php sert uniquement de page "tampon" pour récupérer les données via un $_POST et les ajouter dans la session du caddy
Voici son code :
Un peu long, j'espère que vous comprendrez bien..
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 <?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <?php if(isset($_POST['submit'])){ //recuperation des données $losnr = stripslashes($_POST['losnr']); $foto_datei= stripslashes($_POST['foto_datei']); $bild_datei= stripslashes($_POST['bild_datei']); $legende= stripslashes($_POST['legende']); $ausruf= stripslashes($_POST['ausruf']); $offre= stripslashes($_POST['offre']); $vente= stripslashes($_POST['vente']); $modif= stripslashes($_POST['modif']); //ajout des données en session $_SESSION['panier']['losnr'][] = $losnr; $_SESSION['panier']['foto_datei'][] = $foto_datei; $_SESSION['panier']['bild_datei'][] = $bild_datei; $_SESSION['panier']['legende'][] = $legende; $_SESSION['panier']['ausruf'][] = $ausruf; $_SESSION['panier']['offre'][] = $offre; $_SESSION['panier']['vente'][] = $vente; $_SESSION['panier']['modif'][] = $modif; echo "<table align ='center' bgcolor='white'> <tr> <td> <table bgcolor='#B4C6D6' color='white' align = 'center'> <tr> <td align='center'>Le lot n° $losnr a bien été ajouté à votre commande pour la somme de $offre euros.</td> </tr> </table> </td> </tr> </table>"; } ?> <br /> <table align ="center"> <tr> <td><a href="javascript:this.close();">Fermer cette fenêtre</a></td> </tr> <table> </body> </html>
Merci d'avance pour votre aide
Partager