Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 10-12-2007 15:46:18

maximeus
Membre
Date d'inscription: 10-12-2007
Messages: 3

Récupérer des valeurs d'un <input type="image">

bonjour,

j'aurais besoin de votre aide concernant la récupération de données d'un formulaire avec php.

voici la situation:

ma page accueil.php contient un formulaire avec 2 liste déroulantes contenant les données d'une db mysql et 3 images séparées représentant chacune une ville et qui sont utilisées comme bouton submit (par exemple <input type="image" src="site_images/paris.jpg" name="input_localites" value="paris">, <input type="image" src="site_images/lyon.jpg" name="input_localites" value="lyon"> et <input type="image" src="site_images/bordeaux.jpg" name="input_localites" value="bordeaux">.

Je souhaiterais que lorsque je clique sur l'une des image, ma page me fasse un submit vers une autre page qui affichera uniquement les données qui correspondent à la ville sélectionnée.

Avec Firefox, la valeur est bien transmise et ma page affiche bien les données, mais avec Ie et Opera,je reçoit une erreur de type "Undefined index:...."

Une petite idée d'où vient le sushi?

Merci d'avance

Hors ligne

 

#2 10-12-2007 18:43:52

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Récupérer des valeurs d'un <input type="image">

Salut,
Comment récupère tu la valeur de ton champ image ?
Sinon :

Code:

$_POST['input_localites']

doit contenir la valeur du champ cliqué

Hors ligne

 

#3 11-12-2007 02:31:20

maximeus
Membre
Date d'inscription: 10-12-2007
Messages: 3

Re: Récupérer des valeurs d'un <input type="image">

voici une partie du code de mes 2 pages:

page avec le formulaire:
----------------------------

<form id="form1" name="form1" method="post" action="<?php echo ANNONCES_LIEN; ?>">
.......
<select class="liste" name="select_biens">.....</select>
.......
<select class="liste" name="select_types">.....</select>
.......
<input type="image" src="site_images/paris.jpg" name="input_localites" value="paris">
.......
<input type="image" src="site_images/lyon.jpg" name="input_localites" value="lyon">
.......
<input type="image" src="site_images/bordeaux.jpg" name="input_localites" value="bordeaux">
</form>

page qui affiche les données:
----------------------------------

<?php
// on récupère les valeurs dans le lien
$biens = $_POST['select_biens'];
$types = $_POST['select_types'];
$localites = $_POST['input_localites'];

// on affiche le résultat
echo ''.$biens.'<br>'.$types.'<br>'.$localites.'<br>';
.....
?>

ce qui est vraiment chelou c'est que cela fonctionne nickel avec Firefox, mais pas avec Ie ou Opera. On dirait que la valeur paris n'est pas envoyée correctement à l'autre page.

Hors ligne

 

#4 11-12-2007 21:33:36

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Récupérer des valeurs d'un <input type="image">

Je viens de tester et en effet c'est con comme comportement, enfin, voilà encore un exemple du pourquoi il ne faut plus utiliser IE.
Sinon voici une autre solution :
Tu donne comme nom à tes champs image le nom de chaques villes, et avec le code ci-dessous tu récupère le nom de la ville :

Code:

foreach ($_POST as $key => $val) {
    if (substr($key, -2) == '_x') {    
        $localites = substr($key, 0, -2);
    }
}

Hors ligne

 

#5 12-12-2007 02:00:57

maximeus
Membre
Date d'inscription: 10-12-2007
Messages: 3

Re: Récupérer des valeurs d'un <input type="image">

Merci pour ta réponse Shiva.

C'est beaucoup mieux ce code que l'utilisation d'un javascript wink

A+++

Hors ligne