Redirection formulaire avec bouton radio

Eléphanteau du PHP | 18 Messages

03 févr. 2010, 20:38

Bonjour,

J'utilise un formulaire avec des bouton radio pour faire des choix.
Je voudrais que ce formulaire renvoi sur des pages différentes en fonction du bouton radio coché

Pour l'instant le formulaire fonctionne mais il renvoi toujours sur la même page "CR.php"

Code avant le header
<?php require_once('../Connections/CR.php'); ?>
<?php
mysql_select_db($database_CR, $CR);
$query_rsCR = "SELECT * FROM CR";
$rsCR = mysql_query($query_rsCR, $CR) or die(mysql_error());
$row_rsCR = mysql_fetch_assoc($rsCR);
$totalRows_rsCR = mysql_num_rows($rsCR);
?>
Code du formulaire
<form name="form1" id="form1" method="get" action="CR.php?cr=<?php echo $row_rsCR['cr']; ?>">
                                                
     <p align="left">Triez par type de compte rendu :
        <select name="annee" id="annee">
          <option value="2009" <?php if (!(strcmp(2009, $row_rsCR['annee']))) {echo "SELECTED";} ?>>2009</option>
          <option value="2008" <?php if (!(strcmp(2008, $row_rsCR['annee']))) {echo "SELECTED";} ?>>2008</option>
          <option value="2007" <?php if (!(strcmp(2007, $row_rsCR['annee']))) {echo "SELECTED";} ?>>2007</option>
          <option value="2006" <?php if (!(strcmp(2006, $row_rsCR['annee']))) {echo "SELECTED";} ?>>2006</option>
        </select>         
        <label> </label>
      </p>
      <p align="left">
        <label>
        <input <?php if (!(strcmp($row_rsCR['cr'],"DP"))) {echo "CHECKED";} ?> type="radio" name="cr" value="DP" />
    DP</label>
         <br />
        <label>
        <input <?php if (!(strcmp($row_rsCR['cr'],"CE"))) {echo "CHECKED";} ?> type="radio" name="cr" value="CE" />
    CE</label>
        <br />
        <label>
        <input <?php if (!(strcmp($row_rsCR['cr'],"CCE"))) {echo "CHECKED";} ?> type="radio" name="cr" value="CCE" />
    CCE</label>
      </p>
      <p align="left">
        <input type="submit" name="Submit" value="Envoyer" />
           
</p>
    </form>
Il y a suremment du "if" à faire quelque part, mais je sais pas ou.
le but étant que si c'est DP qui est coché on est redirigé sur DP.php
si c'est CE on va vers CE.php
si c'est CCE on va vers CCE.php

Merci de votre aide.


@+

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 févr. 2010, 21:11

C'est plus une question de javascript (encore que tu puisses le faire également en php, mais c'est un peu plus compliqué).

En fait, ton formulaire est envoyé à l'adresse spécifiée dans l'attribut "action" du formulaire. Tu peux modifier cette valeur très simplement avec un peu de javascript :
<input type="radio" onclick="this.form.action = 'adresse_de_la_page.php'; " />
Lors du clic sur ce bouton radio, la valeur action du formulaire qui contient ce champ va prendre la valeur 'adresse_de_la_page.php'. Lors de la soumission du formulaire, les données seront envoyées vers la page adresse_de_la_page.php :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...