[php]bouton radio et condition [Résolu/Fermé]

maroosoft 66 Messages postés dimanche 7 janvier 2007Date d'inscription 7 juillet 2010 Dernière intervention - 15 janv. 2008 à 08:44 - Dernière réponse : maroosoft 66 Messages postés dimanche 7 janvier 2007Date d'inscription 7 juillet 2010 Dernière intervention
- 17 janv. 2008 à 00:56
Bonjour,

je suis entrain de réaliser un site web,dont l'une de ses pages contient le formulaire suivant:


<form action="traite-type-inscri.php" method="post" name="form1" id="form1">
				  <label></label>
				  <p>&nbsp;			      </p>
				  <table width="264" border="1">
                    <tr>
                      <td width="118"><label>
                        <input type="radio" name="radiobutton" value="entreprise" />
                      Entreprise</label></td>
                      <td width="111"><label>
                        <input type="radio" name="radiobutton" value="citoyen" />
                      Citoyen</label></td>
                    </tr>
                  </table>
				  <p>
				    <label></label>
				  </p>
				  <p>
				    <input type="submit" name="Submit" value="Valider" />
					
				  </p>
				</form>


Alors, je veux accéder au pages entreprise.php et citoyen.php en fonction du bouton radio activé et après le clique sur le bouton.
S'il vous plaît,aidez moi pour modifier le code au dessus afin de pouvoir atteindre mon objectif !!
et merci beaucoup.
Afficher la suite 

9 réponses

Dalida 6766 Messages postés mardi 14 mai 2002Date d'inscriptionContributeurStatut 11 janvier 2016 Dernière intervention - 15 janv. 2008 à 09:48
0
Utile
salut,

proposition inspirée d'une réponse d'il y a quelques jours.

<?php
	$url = array( 'default' => 'index.php', //page par défaut si aucune valeur transmise
				'entreprise' => 'entreprise.php', 
				'citoyen' => 'citoyen.php );
	$index = 'default'; //index par défaut
	if( isset( $_POST['radiobutton'] ) && !empty( $_POST['radiobutton'] ) )
	{
		$index = $_POST['radiobutton']; 
	}
	$location = $url[$index];
	header( "Location:$location" );
?>

maroosoft 66 Messages postés dimanche 7 janvier 2007Date d'inscription 7 juillet 2010 Dernière intervention - 15 janv. 2008 à 11:28
0
Utile
Merci bien pour votre aide mais j'ai pas compris la fonctionnement de cette partie :-(

$index = 'default'; //index par défaut
	if( isset( $_POST['radiobutton'] ) && !empty( $_POST['radiobutton'] ) )
	{
		$index = $_POST['radiobutton']; 
	}
	$location = $url[$index];
	header( "Location:$location" );

et merci beaucoup
Dalida 6766 Messages postés mardi 14 mai 2002Date d'inscriptionContributeurStatut 11 janvier 2016 Dernière intervention - 15 janv. 2008 à 11:41
0
Utile
lol !

5 lignes sur 6, faut dire que je suis pas bon pédagogue !

les adresses sont dans un tableau associatif (un nom associé à une valeur, une liste de clé/valeur en fait).
en premier on essaie de définir quel sera l'index du tableau à utiliser (quelle clé on demande au tableau pour qu'il nous ressorte la valeur associée).
cet index c'est le <select> qui va nous le donner.

en premier on lui mets une valeur par défaut, comme ça si rien n'a été envoyé on n'aura pas d'erreur et le visiteur ne se retrouvera pas devant une page planche avec un message d'erreur.

ensuite on regarde dans les valeur envoyées ('$_POST') si il y a quelque chose pour nous, si oui on l'affecte à la variable '$index'.

après, on va chercher l'adresse correspondant à l'index dans le tableau du début et on la stocke '$location'.

enfin on redirige la page !

si tu veux, tu peux faire plus simple et plus sûr. au lieu de donner comme valeur aux <option> le nom de la page tu peux lui donner un nombre, à partir de 1. 0 servira à la page par défaut.
<?php
	$url = array( 'index.php', // tableau simple, plus de tableau associatif
				'entreprise.php', 
				'citoyen.php );
	$index = 0; //index par défaut (un index numérique maintenant
	if( isset( $_POST['radiobutton'] ) && !empty( $_POST['radiobutton'] ) )
	{
		$index = (int) $_POST['radiobutton'];  // on force le transtypage
	}
	$location = $url[$index];
	header( "Location:$location" );
?>

et pour le HTML :
<form action="traite-type-inscri.php" method="post" name="form1" id="form1">
				  <label></label>
				  <p>&nbsp;			      </p>
				  <table width="264" border="1">
                    <tr>
                      <td width="118"><label>
                        <input type="radio" name="radiobutton" value="1" />
                      Entreprise</label></td>
                      <td width="111"><label>
                        <input type="radio" name="radiobutton" value="2" />
                      Citoyen</label></td>
                    </tr>
                  </table>
				  <p>
				    <label></label>
				  </p>
				  <p>
				    <input type="submit" name="Submit" value="Valider" />
					
				  </p>
				</form>
maroosoft 66 Messages postés dimanche 7 janvier 2007Date d'inscription 7 juillet 2010 Dernière intervention - 15 janv. 2008 à 21:50
0
Utile
1
Vraiment chapeau :-)
Merci beaucoup.Votre explication a été impressionnante!
Dalida 6766 Messages postés mardi 14 mai 2002Date d'inscriptionContributeurStatut 11 janvier 2016 Dernière intervention - 16 janv. 2008 à 01:11
merci du compliment !

on peut considérer la question comme résolue ?

et bon courage pour la suite !
-;o)
houcem6600 6 Messages postés samedi 12 janvier 2008Date d'inscription 16 janvier 2008 Dernière intervention - 15 janv. 2008 à 23:02
0
Utile
2
je cherche comment creer une application radio (pfe).les demarches de travaille alors je besoindes quelques documentation pour plus s'informer sur ce sujet
merci amis
Dalida 6766 Messages postés mardi 14 mai 2002Date d'inscriptionContributeurStatut 11 janvier 2016 Dernière intervention - 16 janv. 2008 à 01:09
salut,

pour bien commencer sur le forum, lis la charte.
tu y trouveras plein d'infos pour mieux rédiger ta question et la poster au bon endroit.

comme ça tu auras plus de réponses !

à plus
houcem6600 6 Messages postés samedi 12 janvier 2008Date d'inscription 16 janvier 2008 Dernière intervention > Dalida 6766 Messages postés mardi 14 mai 2002Date d'inscriptionContributeurStatut 11 janvier 2016 Dernière intervention - 16 janv. 2008 à 12:42
ok dalida .merci
maroosoft 66 Messages postés dimanche 7 janvier 2007Date d'inscription 7 juillet 2010 Dernière intervention - 17 janv. 2008 à 00:56
0
Utile
--
Juste Do It!