VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Formulaire champ image [Résolu]

dyco 12Messages postés 13 septembre 2005Date d'inscription - Dernière réponse le 14 sept. 2005 à 14:32
Bonjour,

Voilà j'ai un soucis avec un champ d'image.

Voilà je désire que quand le surfeur clique sur une image, l'image envois par post une valeur 1.

Voici mon code ce sera plus claire peut etre...

<form action="index.php" method="post">
<input name="theme" type="image" value="1" src="images/ban.jpg" width="350" height="40" border="0">
</form>
$theme1=$_POST["theme"];
echo '<h1>'.$theme1.'</h1>';


Le soucis c'est que çà n'affiche rien ...

Bien à vous.

Dyco
Lire la suite 

Formulaire champ image »

25 réponses
Réponse
+1
moins plus
Je suis désolé je me suis emballer trop vite ...

Mon soucis maintenant c'est que quand j'indique ce code
<form action="index.php" method="post">
<input type="hidden" value="1" name="theme">
<input type="image" src="images/ban.jpg" width="350" height="40" border="0">
<input type="hidden" value="2" name="theme">
<input type="image" src="images/anima.jpg" width="350" height="40" border="0">
</form>


Il prend en compte que la dernière image ...

Et si j'indique
<form action="index.php" method="post">	
<input type="hidden" value="1" name="theme">
<input type="image" src="images/ban.jpg" width="350" height="40" border="0">
</form>
<form action="index.php" method="post">	
<input type="hidden" value="2" name="theme">
<input type="image" src="images/anima.jpg"" width="350" height="40" border="0">
</form>

Il me fait un espace entre les formulaire.

Il y a une autre solution ?

Merci.

Dyco
Erdnax- 13 sept. 2005 à 15:57
Re,

Alors en fait tu peux les mettre dans des cellules de tableaux, mais ça va jusqu'à un certain nombre, sans compter que tes images sont grandes pour être mises côte à côte. Enfin bref, tu peux faire ça comme ça :
<table border="0" cellpadding="0" cellspacing="0">
<tr>
  <td>
    <form action="index.php" method="post">	
    <input type="hidden" value="1" name="theme">
    <input type="image" src="images/ban.jpg" width="350" height="40" border="0">
    </form>
  </td>
  <td>
    <form action="index.php" method="post">	
    <input type="hidden" value="2" name="theme">
    <input type="image" src="images/anima.jpg"" width="350" height="40" border="0">
    </form>
  </td>
</tr>
</table>

@+
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Essaie plutôt comme ça :
<form action="index.php" method="post">
<input type="hidden" value="1" name="theme">
<input type="image" src="images/ban.jpg" width="350" height="40" border="0">
</form>
$theme1 = $_POST['theme'];
echo '<h1>'.$theme1.'</h1>';

Ca marche ?
Ajouter un commentaire
Réponse
+0
moins plus
C'est parfais çà marche.

Merci beaucoup j'avais pas penser au bouton caché.

Encore Merci
Ajouter un commentaire
Réponse
+0
moins plus
En fait elles sont l'un en dessous de l'autre.
C'est des bannière qui dirige les themes du site.

Et j'avais déjà essayer le système de tableau, mais elles font toujours un enorme espace entre les images.

A mon avis c'est la balise
<form>
qui fait automatiquement l'espace.

Merci c'est génial que tu puisse m'aider comme çà.

Dyco
Ajouter un commentaire
Réponse
+0
moins plus
Tu es sûr de bien avoir copié mon code ?

Parce que chez moi, elles s'affichent l'une à côté de l'autre, sans espace ni rien, tout bien :P

Alors est-ce que tu pourrais me donner ton code comme il est actuellement ?

@+
StreM- 13 sept. 2005 à 16:27
Aaaah... saleté d'IE, il se comporte à chaque fois différemment...
Chez moi aussi, la balise FORM me fait un saut de ligne.
Si tu fais un tableau avec un cellpadding et cellspacing à 0 sans bordure, ca devrait passer.
Ou sinon 2 DIV avec les style float qui vont bien.
Erdnax- 13 sept. 2005 à 16:29
Justement, moi avec deux form, sans rien d'autre, ils sont l'un en dessous de l'autre, mais que je les mets dans un tableau (cf. code ci-dessus #4) ils s'affichent bien comme on essaye de le faire ;)
Ajouter un commentaire
Réponse
+0
moins plus
<table>
<tr>
<td>
<form action="index.php" method="post"><input type="hidden" value="1" name="theme">
<input type="image" src="images/ban.jpg" width="350" height="40" border="0">
</form>
</td>
</tr>
<tr>
<td>
<form action="index.php" method="post"><input type="hidden" value="2" name="theme">
<input type="image" src="images/anima.jpg"" width="350" height="40" border="0">
</form></td></tr>
<tr>
<td>
<form action="index.php" method="post"><input type="hidden" value="3" name="theme">
<input type="image" src="images/cdg.jpg" width="350" height="40" alt=Cdg>
</form>
</td></tr>
<tr>
<td>
<form action="index.php" method="post"><input type="hidden" value="4" name="theme">
<input type="image" src="images/wowm.jpg" width="350" height="40" alt=Wow Moonlight>
</form>
</td>
</tr>
<tr>
<td>
<form action="index.php" method="post"><input type="hidden" value="5" name="theme">
<input type="image" src="images/wows.jpg" width="350" height="40" alt=Wow Sunlight>
</form>
</td>
</tr>
</table>

Voilà mon code, elles doivent etre l'une en dessous de l'autre. Pas l'une a coté de l'autre.
Merci de tes réponses rapide.

Dyco
Erdnax- 13 sept. 2005 à 16:34
Bon, je suppose que ta dernière phrase est fausse, tu veux plutôt qu'elles soient à côté, et non dessous.
Erdnax- 13 sept. 2005 à 16:36
Donc, selon mon message, essaye ça :
<table>
<tr>
  <td>
    <form action="index.php" method="post"><input type="hidden" value="1" name="theme">
    <input type="image" src="images/ban.jpg" width="350" height="40" border="0">
    </form>
  </td>
  <td>
    <form action="index.php" method="post"><input type="hidden" value="2" name="theme">
    <input type="image" src="images/anima.jpg"" width="350" height="40" border="0">
    </form>
  </td>
  <td>
    <form action="index.php" method="post"><input type="hidden" value="3" name="theme">
    <input type="image" src="images/cdg.jpg" width="350" height="40" alt=Cdg>
    </form>
  </td>
  <td>
    <form action="index.php" method="post"><input type="hidden" value="4" name="theme">
    <input type="image" src="images/wowm.jpg" width="350" height="40" alt=Wow Moonlight>
    </form>
  </td>
  <td>
    <form action="index.php" method="post"><input type="hidden" value="5" name="theme">
    <input type="image" src="images/wows.jpg" width="350" height="40" alt=Wow Sunlight>
    </form>
  </td>
</tr>
</table>


Mais c'est super large, donc je sais pas si c'est la meilleur solution, essaye peut-être de réduire un peu la taille de tes images ;)
Ajouter un commentaire
Réponse
+0
moins plus
Je suis désolé mais c'est bien l'un en-desous de l'autre que je veux...
J'ai toujours un gros espace entre les bannières...

J'ai la même chause que strem a ce point de vue à
:
UNE IMAGE
UN GROS ESPACE
UNE IMAGE
UN GROS ESPACE
UNE IMAGE

Donc le tableua que tu me donne indique l'un a coté de l'autre mais ce n'est pas çà que je veux et sans tableau çà fait pareil...

Le cellpacing et padding ne marche pas non plus j'ai essayé ...

Dyco
Erdnax- 13 sept. 2005 à 16:51
Arf, autant pour moi, j'ai mal compris dès le départ, et je suis resté à fond dans mon idée, désolé.

Bon, je cherche pour ta solution ;)
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Merci c'est gentil parce que là je vois pas du tout ...

Dyco
Ajouter un commentaire
Réponse
+0
moins plus
Re,

En fait, je me demande un truc (parce que là, je vois pas toptop la solution :S ).

Pourquoi tu ne veux pas plutôt utiliser un paramètre dans l'url ? Ca permet, en plus, que le visiteur rafraîchisse sa page sans message du type "La page ne peut pas être actualisée....."

Et ça simplifierai vachtiment les choses...
StreM- 14 sept. 2005 à 11:06
+1 !
J'ai juste lu en travers, mais d'après le code, tu veux juste passer le parametre "theme" a l'autre page... Donc :
<a href="tapage.php?theme=3"><img src="images/ban.jpg" width="350" height="40" border="0"></a>
et tu récupères le paramètre dans ta page par $_GET['theme']
Et si c'est la même page, va voir $PHP_SELF

Non ?

Explique nous ta problèmatique plutot que ton problème.
Ajouter un commentaire
Réponse
+0
moins plus
Oui c'est ce que j'avais fait mais je voulais que les personne ne voix justemment pas çà pour des raison de securité de un et des faciliter d'encodage.
Parce que je connais moi les gars ou fille d'ailleur qui chipote et qui dise tien et si je met tel chiffre a la place çà donne quoi ?

PArce que en faite il y a que les personne qui a acces a ces themes qui on droit de les voir.

C'est pour cela que j'avais opter pour du post et pas du get...

Enfin voilà quoi mais si c'est pas possible tantpis...

Dyco
Erdnax- 14 sept. 2005 à 11:30
Mais où y a-t-il un problème de sécurité à passer des numéros ? Au pire, tu vérifie que le numéro existe bien, et si ce n'est pas le cas, hop, tu met le thème par défaut !
StreM- 14 sept. 2005 à 11:34
Tout à fait, tu fais un switch($_GET['theme']) avec un default, et pis voila.
Sinon, perso, j'opterais pour des liens si il me fallait VRAIMENT du post :
function soumettre(theme) {
   document.getElementById('theme').value=theme;
   document.nomform.submit();
}
<form name="nomform">
<input type=value id=theme name=theme value="">
<a href=# onclick="soumettre('1')"><img src=..></a>
<a href=# onclick="soumettre('2')"><img src=..></a>
</form>

Erdnax- 14 sept. 2005 à 11:57
Ben voilà, elle est super cette solution non ?
Ajouter un commentaire
Réponse
+0
moins plus
Oui je sais j'ai certainement voulus compliqué la tâche en voulant la rendre plus simple.
Merci pour ton aide.

Dyco
Ajouter un commentaire
Réponse
+0
moins plus
Vendu ^^

Merci a vous deux pour votre aide.

Dyco
Erdnax- 14 sept. 2005 à 14:14
T'as une adresse où on peut voir le résultat ? ^^
Ajouter un commentaire
Réponse
+0
moins plus
heu non là pas pour le moment je fais la V5 de mon site et evidemment c'est une surprise pour les habituer du site...

Dès que la V5 est fini je mets le lien promit

Dyco
Erdnax- 14 sept. 2005 à 14:32
Oki, merci ;)
Ajouter un commentaire
Ce document intitulé « Formulaire champ image » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?