Bonjour,
j'ai réalisé un code php qui, lorsqu'on clic sur un bouton radio et sur un bouton "envoyer", ça affiche une image...
ce que j'aimerai c'est que le bouton radio soit et reste actif en fonction de l'image affichée
(j'espère que mon explication est claire...:) ). je suis un peu désespérée car je n'y arrive pas Smiley decu
voici le code:

<?php

if(!isset($_POST['simuler'])) {		
		header('Location: simulateurs.php' );		
		}
	
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<div id="menu_result_sim">
<form method="post" action="resultat_simulateur_vision.php" id="like" lang="fr">

<ul>
<li><a href="simulateurs.php" title="cliquer pour aller à la page précédente"><img class="prec" src="img/page_prec.jpg" alt="image représentant une flèche qui va vers la page précédente" title="Aller à la page précédente" width="25" height="25" /></a></li>

<li><input type="text" name="adresse" id="adresse" value="http://www.infographie-sup.be" /><li>

<li><input type="radio" name="simulateur" value="achromatopsie" id="achromatopsie" title="Cocher ce bouton pour voir le résultat" />
<label for="achromatopsie">Vision d'une personne atteinte d'achromatopsie</label></li> 

<li><input type="radio"  name="simulateur"  value="daltonisme" id="daltonisme" title="Cocher ce bouton pour voir le résultat"  />
<label for="daltonisme">Vision d'une personne atteinte de daltonisme</label></li> 

<li><input type="radio"  name="simulateur"  value="glaucome" id="glaucome" title="Cocher ce bouton pour voir le résultat" />
<label for="glaucome">Vision d'une personne atteinte de glaucome</label></li>

<li><input type="radio"  name="simulateur" value="dmla" id="dmla" title="Cocher ce bouton pour voir le résultat" />
<label for="dmla">Vision d'une personne atteinte de dmla</label></li>

<li><input type="submit" value="Envoyer" name="simuler" class="bt_sumit" /></li>
</ul>
  </form>

</div><!--end menu_result_sim-->
<?php
if (isset($_POST['simulateur'])) { 
	switch ($_POST['simulateur']){
	
	case "achromatopsie":
		echo '<img src="img/achromatopsie.jpg" alt="image représentant la vision d\'une personne atteinte d\'achromatopsie (vision en noir et blanc)" width="1425px" height="589px"/>';		
		break;
	case "daltonisme":
		echo '<img src="img/datonisme.jpg" alt="image représentant la vision d\'une personne atteinte de daltonisme - protanopie" width="1425px" height="589px"/>';
		break;
	case "glaucome":
		echo'<img src="img/glaucome.jpg" alt="image représentant la vision d\'une personne atteinte de glaucome" width="1425px" height="589px"/>';	
		break;
	case "dmla":
		echo'<img src="img/dmla.jpg" alt="image représentant la vision d\'une personne atteinte de DMLA - dégénérescence maculaire liée a l&#146;âge" width="1425px" height="589px"/>';		
		break;
	}
	
}else {
	echo "Vous n'avez choisi aucun item du simulateur. Merci de bien vouloir recommencer";
}
	
?>
</body>
</html>


je vous remercie d'avance pour votre aide !
faudrait passer par de l'Ajax :
- ca tévite e recharger a page a chaque fois
- ton bouton restera coché
- il y aurait meme plus besoin de bouton submit
Bonjour,
Naemesis a écrit :
faudrait passer par de l'Ajax :
- ca tévite e recharger a page a chaque fois
- ton bouton restera coché
- il y aurait meme plus besoin de bouton submit

Attention, AJAX n'est pas la solution ultime à tous les problèmes. Le Web s'est très bien porté sans cela depuis 30 ans, surtout pour des cas simples comme ici...

@micamel : il suffit d'analyser le contenu de $_POST['simulateur'] avant d'afficher ton formulaire, et ensuite d'ajouter l'attribut "checked" au bouton radio correspondant.

P.S. : il est inutile et gênant de préciser au début du contenu des attributs alt "image représentant..." ; c'est un peu comme si tu choisissais comme titre de ta page d'accueil "Titre de la page d'accueil".
oui je dois changer tous mes "alt" ils sont incorrects (surtout que je fais un site sur l'accessibilité web...)

ajax, javascript c'est pas très accessible voilà pourquoi j'essaie de faire de l'html et php...

je ne m'y connais pas beaucoup en php et donc c'est pour ça que j'ai crié au secours ici...

je fais comment pour "analser le $_POST? (désolé surement une question stupide)
Dans le ca où il n'y a que si peu de cas, je veux bien qu'on est pas à utiliser AJAX, je voyais ca a plus grande échelle, faire un switch ou des elsif sur 500 cas me parait déjà nettement moins approprié
Naemesis a écrit :
Dans le ca où il n'y a que si peu de cas, je veux bien qu'on est pas à utiliser AJAX, je voyais ca a plus grande échelle, faire un switch ou des elsif sur 500 cas me parait déjà nettement moins approprié

Personne de raisonnable ne fait un switch ou un else if sur 500 cas... En factorisant le code et éventuellement en utilisant une base de données (bien que cela ne soit pas indispensable s'il s'agit juste d'accéder à des données simples comme ici), le code est réduit à quelque chose de très simple (une définition de tableau et des boucles). Et puis je ne vois pas en quoi AJAX va simplifier le code s'il y a 500 cas ; le code PHP va juste se métamorphoser en code JS.

@micamel : dans un premier temps, au début de ta page, tu peux créer une variable qui va contenir le nom du simulateur sélectionné, ou une chaîne vide si rien n'est sélectionné. Et ensuite, utilise cette variable dans le reste de la page pour sélectionner le bouton radio correspondant et afficher la bonne image. Je ne peux pas te donner un code PHP tout fait, il faut que tu te lances et que tu poses des questions plus précises.
Julien Royer a écrit :
@micamel : il suffit d'analyser le contenu de $_POST['simulateur'] avant d'afficher ton formulaire, et ensuite d'ajouter l'attribut &quot;checked&quot; au bouton radio correspondant.


+1
bien plus simple que de passer par AJAX dans ce cas !
micamel a écrit :
ok... je sais que je suis un peu nul mais je fais comment alors?

Tu fais exactement ce que j'ai écrit au-dessus. Si tu ne comprends pas ce que cela signifie, il va falloir t'acheter un livre sur PHP, passer du temps sur le Web à te former sur le sujet, ou recruter un développeur pour faire le travail à ta place. Smiley smile

Encore une fois, si tu as des questions techniques plus précises, n'hésite pas à les poser ici ou dans un nouveau sujet.
Modifié par Julien Royer (31 May 2012 - 11:41)