is_utf8:0,
Rechercher : dans
Par :

[php]bouton radio et condition

Dernière réponse le 17 jan 2008 à 00:56:25 maroosoft, le 15 jan 2008 à 08:44:35 
 Signaler ce message aux modérateurs

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. Juste Do It!
Configuration: Windows XP
Firefox 2.0.0.11

Meilleures réponses pour « [php]bouton radio et condition » dans :
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...

1

Dalida, le 15 jan 2008 à 09:48:39

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" );
?>


[ Mathieu ]
« On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007.

Répondre à Dalida

2

maroosoft, le 15 jan 2008 à 11:28:15

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
Juste Do It!

Répondre à maroosoft

3

Dalida, le 15 jan 2008 à 11:41:42

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>

[ Mathieu ]
« On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007.

Répondre à Dalida

4

maroosoft, le 15 jan 2008 à 21:50:40

Vraiment chapeau :-)
Merci beaucoup.Votre explication a été impressionnante! Juste Do It!

Répondre à maroosoft

7

Dalida, le 16 jan 2008 à 01:11:06

Merci du compliment !

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

et bon courage pour la suite !
-;o)

[ Mathieu ]
« On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007.

Répondre à Dalida

5

houcem6600, le 15 jan 2008 à 23:02:31

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

Répondre à houcem6600

6

Dalida, le 16 jan 2008 à 01:09:40

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

[ Mathieu ]
« On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007.

Répondre à Dalida

8

houcem6600, le 16 jan 2008 à 12:42:01

Ok dalida .merci

Répondre à houcem6600

9

 maroosoft, le 17 jan 2008 à 00:56:25

--
Juste Do It!

Répondre à maroosoft