boutons radios / page php

Eléphant du PHP | 335 Messages

12 avr. 2005, 20:29

Bonjour,

J'ai écris une page avec 3 boutons radios et un bouton envoyer.
Je voudrais que lorsque l'utilisateur choisi :
le premier bouton et clic sur le bouton ca ouvre une page1.php
le second bouton et clic : page2.php
le troisieme bouton et cilc : page3.php

Comment je dois m'y prendre??

Merci pour votre aide...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 avr. 2005, 21:24

suggestion :

faire une page intermédiaire sur laquelle va pointer ton formulaire, et qui suivant la valeur transmise va rediriger sur la page voulue

Eléphanteau du PHP | 21 Messages

12 avr. 2005, 22:32

Autre possibilité:

Ajouter une propriété onclick() sur chacun de tes boutons radio qui fera un truc du genre:

Code : Tout sélectionner

onclick ="document.forms['nomformulaire'].action = page1.php"

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

12 avr. 2005, 22:48

comme d'hab', précisons que ça ne marchera que si le Javascript est activé sur le navigateur :)

Eléphant du PHP | 139 Messages

12 avr. 2005, 23:20

Sinon en php :


<?php
if(isset($_POST['radiobutton']))
{
 include $_POST['radiobutton'].".php";
}else{
?>
<form name="form1" method="post" action="<?php $PHP_SELF ?>">
  <input type="radio" name="radiobutton" value="page1" checked> 
  Page 1<br>
  <input type="radio" name="radiobutton" value="page2"> 
  Page 2<br>
  <input type="radio" name="radiobutton" value="page3"> 
  Page 3<br>
  <input type="submit" name="Submit" value="Envoyer">
</form>
<?php } ?>

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

12 avr. 2005, 23:33

Bien vu, Gentoo Warrior ! ;)
Mais ne serait-ce pas plutôt
<?php
if (isset($_POST['radiobutton']))
   { $newpage=$_POST['radiobutton'].".php";
     header(Location:$newpage);
   }
   else
   {
?>
<form name="form1" method="post" action="<?php $PHP_SELF ?>">
  <input type="radio" name="radiobutton" value="page1" checked="checked" />Page 1<br />
  <input type="radio" name="radiobutton" value="page2" />Page 2<br />
  <input type="radio" name="radiobutton" value="page3" />Page 3<br />
  <input type="submit" name="Submit" value="Envoyer" />
</form>
<?php
   }
?>

Eléphant du PHP | 139 Messages

12 avr. 2005, 23:55

Normalement oui.

Mais la commande header ne veut jamais fonctionner avec moi, du moins avec mon site. :cry:

Mais je crois que ça dépend aussi un peu de la structure de son site.

Sur le mien ça ne fonctionne pas car je passe tout par une page index.
Style : index.php?page=page_a_afficher
et le header fonctionne pas… et c’est logique si on se base sur cet excellent article : http://www.phpfrance.com/tutoriaux/inde ... edirection
(Un peu de pub pour un bon site en français. Vous connaissez ?) :lol:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

13 avr. 2005, 00:03

Tu as tout à fait raison,
d'autant que ce script contenant le header doit impérativement être placé
- rappelons-le again and again and again - tout au début de la page,
avant même la balise <html> !

Eléphant du PHP | 335 Messages

13 avr. 2005, 09:23

Merci a tous.

Ca marche impec'... :lol: