Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/05/2007, 17h52   #1
Invité de passage
 
Inscription : février 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 12
Points : 2
Points : 2
Par défaut Gestion panier PHP - Explorer/Firefox

Bonjour tout le monde,

Je développe un petit shop en PHP pour un encaveur de ma région.

Mon shop est quasi fonctionnel (panier, etc.) et tourne sans problème sous Firefox.

J'ai rapidement vérifié s'il tournait sous Explorer (7) et sous Safari et là, grosse surprise, mon panier ne s'active pas (session et création d'un array). Il n'affiche aucune erreur, mais il reste vide.

J'ai donc testé si mes paramètres étaient bien passés à la page du panier et c'est le cas, par contre, un var_dump du tableau retourne une valeur null : donc il ne doit pas se créer ! Mais pourquoi mon code fonctionne-t-il sous Firefox ?

La syntax (PHP) peut-elle être différente entre les navigateur ?

Quelqu'un aurait-il une piste ?

Merci d'avance pour votre aide !
len73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2007, 18h01   #2
Membre du Club
 
Inscription : juin 2002
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 44
Points : 51
Points : 51
Utilisez vous les Frames par hasard ?

Autrement, le code php s'exécute côté serveur, du coup il est indépendant du navigateur. L'HTML généré par contre l'est beaucoup moins.
__________________
Merci
Have Fun !!!
Fincom
Fincom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2007, 18h05   #3
Invité de passage
 
Inscription : février 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 12
Points : 2
Points : 2
Non, je n'utilises pas de Frames !

C'est très troublant, car je n'obtiens aucun message d'erreur !

Merci de votre aide !
len73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2007, 18h18   #4
Membre du Club
 
Inscription : juin 2002
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 44
Points : 51
Points : 51
Si vous pouvez envoyer une partie de votre code, il serait plus facile de vous aider par la suite.
__________________
Merci
Have Fun !!!
Fincom
Fincom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2007, 18h24   #5
Invité de passage
 
Inscription : février 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 12
Points : 2
Points : 2
Je progresse dans mes recherches.

Il se trouve que je passe en post les paramètres nécessaires (id et qté). Sur ma page panier.php, je teste tout d'abord si la valeur du bouton a été passée et c'est là que le bas blesse.

Code de la page catalogue :
<input type="image" src="../images/shop_caddie.jpg" name='action' value='Cder' onclick="this.form.submit();" >


Code de la page panier :
if (isset($_POST['action']) and $_POST['action']=='Cder'){...}

Firefox interprète correctement le code et comprend que le bouton action a bien été clické. Sur IE7, il passe à côté. En supprimant mon if de la page panier, ca fonctionne nickel.

Un idée pourquoi ?
len73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2007, 18h46   #6
Membre du Club
 
Inscription : juin 2002
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 44
Points : 51
Points : 51
Votre problème est bien relié au navigateur, et c'est un problème qui relève du traitement HTML que PHP. Je m'explique :

Firefox considère le champ de type INPUT IMAGE comme un champs de formulaire. La variable "action" et sa valeur sont transmise lors de l'envoi du formulaire.

IE7 ne considère pas INPUT IMAGE comme un champs de formulaire,et donc ne transmet pas la variable "action", ce qui explique que si vous enlevez la condition IF de votre code php, donc si vous faites abstraction de la variable "action", alors le script est exécuté correctement.

La solution si vous avez uniquement un seul bouton qui déclenche l'envoi du formulaire serait:
Code :
1
2
3
 
<input type="hidden" name='action' value='Cder'>
<input type="image" src="../images/shop_caddie.jpg" onclick="this.form.submit();" >
__________________
Merci
Have Fun !!!
Fincom
Fincom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2007, 18h52   #7
Invité de passage
 
Inscription : février 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 12
Points : 2
Points : 2
Fantastique !

Effectivement, ca passe nickel également sur IE7 et Safari !

Merci pour votre aide précieuse et bonne soirée !
len73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h34.


 
 
 
 
Partenaires

Hébergement Web