8770 sujets

Développement web côté serveur, CMS

Bonsoir,

Voilà j'ai un formulaire d'identification qui fonctionne parfaitement si pour le bouton de connexion je mets type="submit", lorsque je mets un type="image", il fonctionne toujours (ce qui est logique) sauf avec Opera, je ne peux pas récupérer ma valeur "Connexion".

Je mets le code du bouton, à tout hasard

<input name="submit_identification" type="image" value="Connexion" src="styles/images/bt-connexion.gif" />


Quelqu'un a t il déjà eu ce genre de soucis.

Cordialement, Eric

Edit : en fait j'ai aussi ce soucis avec ie mais pas firefox ni netscape
Modifié par Eric (14 Apr 2005 - 19:38)
Bon, après quelques recherche (notamment sur le forum) il semble que ce soit normal.
En fait lorsque l'on utilise une image comme bouton de soumission, opera et ie renvoie les coordonnées où se situe le clic au niveau du bouton (x et y), mais pas de valeur correspondant à value (alors que netscape et ff le font).

Ex valeur renvoyée pour ie et opera
login=&pass=&nom.x=52&nom.y=13


et pour ff et netscape
login=&pass=&nom.x=32&nom.y=16&nom=Connexion


Les données soumises comprennent les valeurs nom.x=valeur-de-x et nom.y=valeur-de-y, dans lesquelles le « nom » est la valeur de l'attribut name. (extrait des recommandations W3C)

Donc il ne reste plus qu'à donner une valeur name différente à chaque bouton, puis avec un petit script extraire la valeur.

Personnelement je recupère par request_url, puis par explode je vérifie que mon resultat correspond à ce que je veux, et là tout semble fonctionner.

Si quelqu'un à une autre solution, je suis preneur.

[Edit] Après différents testcela fonction avec une méthode en get mais pas en post. J'ai donc continué à rechercher une solution et il s'avère tout simplement que php ne renvoie pas nom.x et nom.y mais nom_x et nom_y. Il suffit donc de tester l'une des valeurs tel que
$connexion = isset($_POST['connexion_x'])?$_POST['connexion_x']:"";


et non pas
$connexion = isset($_POST['connexion.x'])?$_POST['connexion.x']:"";

qui renvoie un msg d'erreur.

Cordialement

Eric
Modifié par Eric (14 Apr 2005 - 22:27)