Page 1 sur 1

input type="image" étrange avec php POST

Posté : 04 nov. 2011, 18:38
par foetus69
Bonjour,

Je reviens avec un p'tit souci, 3 fois rien mais ô combien prise de tête.

Dans un formulaire , pour personnaliser mon bouton submit j'ai décidé de passer par type image comme ceci :
<input type="image" src="bouton.gif" name="test" />
Mon form est déclaré de la sorte :
<form name="form1" action="index.php" method="POST">
Et tout en haut le test suivant :
<?php
if (isset($_POST["test"]))
{
	echo "vous avez cliqué !";
}
?>
Si je passe le bouton en submit + css ca marche mais je suis pas fan du côté "pression", si je gère ça sur 2 pages mon post fonctionne mais je voudrais tout faire sur la même page (ca doit être faisable, non ?) et si je fais un onclick="submit();" ca submite mais n'affiche pas "vous avez cliqué !" pour autant.

Une idée ?

Par avance merci pour votre aide.
:priere:

Re: input type="image" étrange avec php POST

Posté : 05 nov. 2011, 12:03
par Ryle
Le problème des inputs de type image, c'est que tous les navigateurs ne le gèrent pas de la même façon, du coup le résultat reçu par php peut être différent.

Quand tu cliques sur un input de type image, au lieu d'envoyer le couple "nomDuChamp/valeur", le navigateur va envoyer les coordonnées du point qui a été cliqué sur l'image : "nomDuChamp.x/coord_x" et "nomDuChamp.y/coord_y". Certains navigateurs vont en plus envoyer le couple "nomDuChamp/valeur", mais pas tous, donc pas fiable comme information.

Tu peux donc tester que la variable $_POST['nomDuChamp_x'] ou $_POST['nomDuChamp_y'] ont bien été envoyée (attention, pour php 'nomDuChamp.x' devient 'nomDuChamp_x') ... ou te baser sur un autre champ de ton formulaire... un petit coup d'oeil à print_r($_POST) te permettra de voir quelles sont les données reçues par php :)

Re: input type="image" étrange avec php POST

Posté : 08 nov. 2011, 01:15
par Aureusms
un truc qui marche mieux :
<input type="button" style="background-color:transparent; background-image:bouton.gif; background-repeat:no-repeat; background-position: top left; height:hauteurImagepx; width:largeurImagepx; border:none;" name="test" onClick="alert ('Envoyé'); this.form.submit();"/>
tu remplace la hauteur et la largeur et ca devrait fonctionner

Re: input type="image" étrange avec php POST

Posté : 09 nov. 2011, 02:43
par Ryle
Et comment tu sais avec ton système quel est la zone de l'image qui a été cliqué ? :p

Bon, ok, il n'en a pas besoin, mais c'est pas un raison ! Ton truc marche pas "mieux", il marche juste pas pareil, c'est tout ! ;)

Re: input type="image" étrange avec php POST

Posté : 12 nov. 2011, 13:53
par Aureusms
Bô comme il clique sur le bouton, il clique c'est tout....
En clair tu contournes le background par défaut du bouton.
Sinon tu veux faire un zonage, je pense que <map> est plus adapté.

Re: input type="image" étrange avec php POST

Posté : 14 nov. 2011, 22:45
par Ryle
Ah ben ça, y a le bon cliqueur, quand il voit un bouton, ... ben ... y clique ... le mauvais cliqueur, bon ben, quand y voit l'bouton, et bien il clique... mais comme c'est le mauvais cliqueur... ;)

Et pour le zonage, c'est pas plus "adapté" vu que pour faire la même chose, il faudrait une zone sur chaque pixel de ton image avec un lien qui contient les coordonnées de la zone :)

Non vraiment, le mieux c'est d'utiliser les outils adaptés à son besoin (et de lire la doc pour savoir comment on s'en sert ;))

Re: input type="image" étrange avec php POST

Posté : 16 nov. 2011, 14:58
par Aureusms
arff, bien visiblement j'ai pas compris ce qu'il voulait faire.

Re: input type="image" étrange avec php POST

Posté : 19 déc. 2011, 18:07
par foetus69
Ah ben ça, y a le bon cliqueur, quand il voit un bouton, ... ben ... y clique ... le mauvais cliqueur, bon ben, quand y voit l'bouton, et bien il clique... mais comme c'est le mauvais cliqueur... ;)
mdrrrrr je l'avais pas vu celui-là :lol: