Page 1 sur 2

probleme de redirection de pages

Posté : 14 avr. 2006, 11:16
par tinou
voila j'ai un formulaire, je rentre les infos correpondantes. J'ai des variable en GET. Quand je valide, je récupere le tout, j'insere dans ma base et je redirectionne avec encore des GET. Cependant lors de l'enregistrement, une des variables ne s'enregistre pas et lorsque je valide, je reste sur la meme page mais sans le formulaire precedent. PLEASE HELP

voila le code au cas ou :
                                  if((isset($_GET['ass']))&&(isset($_GET['acad']))&&(isset($_GET['resp']))&&(isset($_GET['tel'])))
                                  {
                                  ?>
                                    <br/><br/><br/><form action="transport.php" method="POST">
                                   <table>
                                   <tr>
                                     <td>Moyen de Transport</td>
                                     <td><input name="transport" type="text" value="" size="15"><br/></td>
                                   </tr>
                                   <tr>
                                     <td>Heure d'arrivée sur Amiens</td>
                                     <td><input name="heure" type="text" value="" size="4"><br/></td>
                                   </tr>
                                   <tr>
                                     <td>Desirez-vous une navette?</td>
                                     <td>oui<input name="navette" type="radio" value="O" >&nbsp;&nbsp;&nbsp;&nbsp; non
                                     <input name="navette" type="radio" value="N" ><br/></td>
                                   </tr>
                                   <tr>
                                     <td>Hôtel choisi</td>
                                     <td><input name="hotel" type="text" value=""><br/></td>
                                   </tr>
                                   <tr>
                                      <?php
                                      echo'<input name="ass" type="hidden" value="'.$_GET['ass'].'">';
                                      echo'<input name="acad" type="hidden" value="'.$_GET['acad'].'">';
                                      echo'<input name="resp" type="hidden" value="'.$_GET['resp'].'">';
                                      echo'<input name="tel" type="hidden" value="'.$_GET['tel'].'">';
                                      ?>
                                     <td colspan="2"><br/><center><input type="submit" value="Valider" name="ok"></center><br/></td>
                                   </tr>
                                   </form>
                                   </table>
                                   </form>
                                   </center>

                                <?php
                                  if(isset($_POST['ok']))
                                  {
                                     include'bdd.php';
                                     $ass=$_POST['ass'];
                                     $acad=$_POST['acad'];
                                     $resp=$_POST['resp'];
                                     $tel=$_POST['tel'];
                                     $transport=$_POST['transport'];
                                     $heure=$_POST['heure'];
                                     $hotel=$_POST['hotel'];
                                     if($_POST['navette']=="O")
                                     {
                                        $navette="oui";
                                     }
                                     elseif($_POST['navette']=="N")
                                     {
                                        $navette="non";
                                     }

                                     $requete="INSERT INTO transport VALUES('','".$ass."','".$acad."','".$transport."','".$heure."','".$navette."','".$hotel."')";
                                     @mysql_query($requete) or die(mysql_error());

                                     //header("Location:transport.php?inscription_ok");
                                     echo '<script>document.location="restauration.php?ass='.$ass.'&acad='.$acad.'&resp='.$resp.'&tel='.$tel.'";</script>';
                                  }
                                  }
Merci d'avance :D :D :D :D

Re: probleme de redirection de pages

Posté : 14 avr. 2006, 11:21
par charabia
Cependant lors de l'enregistrement, une des variables ne s'enregistre pas
Quel est donc cette variable qui fait des siennes ?

Posté : 14 avr. 2006, 11:30
par tinou
c la variable $acad, quad je regarde dans ma baseavec easy php, tout c'est bien enregistré mais mon champ pour l'académie est vide. :shock:
Comprend po. Merci de m'aider :)

Posté : 14 avr. 2006, 11:33
par Jib
c donc une variable que tu envoie en 1er par un get... POur les autres, y a pas probleme. As tu juste essayer de faire un echo de cette variable.

ps: dans ton code, y a deux form qui se suivent, a quoi correspond le 2eme. c'est surement pas ca le pb mais on ne sait jamais....

Posté : 14 avr. 2006, 11:36
par charabia
c la variable $acad, quad je regarde dans ma baseavec easy php, tout c'est bien enregistré mais mon champ pour l'académie est vide. :shock:
Comprend po. Merci de m'aider :)
A quel niveau tu parles ? Tu me dis que ta donnée a été enregistrée. Où se situe exactement le problème ? Lors de l'affichage de la valeur dans ton input ?

Posté : 14 avr. 2006, 11:39
par tinou
non en fait quand je fait mon INSERT INTOma requete s'execute mais lorsque je verifie si tout c bien renregistré, mon champ pour academie est vide alors que j'ai fait un echo de ma variable GET des le debut du code et ca fonctionnait.

Posté : 14 avr. 2006, 11:40
par tinou
je ien de verfier, ce n'est pas le probleme des 2 form. :x

Posté : 14 avr. 2006, 11:49
par Jib
et pour les autres variables get envoyer par le post il n'y a pas de probleme?
J'avoue que c'est etrange, par contre est ce que ca peut etre lié au type de ta variable? je suis pas un fan ni un expert de mysql mais il parait que si la base attend un int et que tu lui met autre chose, mysql ne renvoie pas d'erreur.
Moi comment je ferai, deja je changerai les $_GET[''] par les variable et je testerai juste avant l insertion que les variable existent(ce que tu fais) mais aussi qu'elle sont diferentes de NULL.

voila.

Posté : 14 avr. 2006, 11:54
par tinou
merci je vai testé ca tout de suite :)

Posté : 14 avr. 2006, 11:59
par tinou
if(($ass!=null)&&($acad!=null)&&($transport!=null)&&($heure!=null)&&($navette!=null)&&($hotel!=null))
                                     {$requete="INSERT INTO transport VALUES('','".$ass."','".$acad."','".$transport."','".$heure."','".$navette."','".$hotel."')";
                                     @mysql_query($requete) or die(mysql_error());

                                     //header("Location:transport.php?inscription_ok");
                                     echo '<script>document.location="restauration.php?ass='.$ass.'&acad='.$acad.'&resp='.$resp.'&tel='.$tel.'";</script>';
                                     }
                                     else
                                     {
                                             echo'blem';
                                     }
voila j' ai testé et tadaaaaa, meme resultat qu'avant ca me redirige pas.
Sa commence a me gonfler severe, deux jours de stages que je suis dessus. :twisted:

Posté : 14 avr. 2006, 12:03
par charabia
mets en commentaire ta requête et fait juste un affichage de ta variable à ce niveau pour voir si tu la vois bien :
if((isset($_GET['ass']))&&(isset($_GET['acad']))&&(isset($_GET['resp']))&&(isset($_GET['tel']))) 
                                  { 
                                  ?> 
                                    <br/><br/><br/><form action="transport.php" method="POST"> 
                                   <table> 
                                   <tr> 
                                     <td>Moyen de Transport</td> 
                                     <td><input name="transport" type="text" value="" size="15"><br/></td> 
                                   </tr> 
                                   <tr> 
                                     <td>Heure d'arrivée sur Amiens</td> 
                                     <td><input name="heure" type="text" value="" size="4"><br/></td> 
                                   </tr> 
                                   <tr> 
                                     <td>Desirez-vous une navette?</td> 
                                     <td>oui<input name="navette" type="radio" value="O" >&nbsp;&nbsp;&nbsp;&nbsp; non 
                                     <input name="navette" type="radio" value="N" ><br/></td> 
                                   </tr> 
                                   <tr> 
                                     <td>Hôtel choisi</td> 
                                     <td><input name="hotel" type="text" value=""><br/></td> 
                                   </tr> 
                                   <tr> 
                                      <?php 
                                      echo'<input name="ass" type="hidden" value="'.$_GET['ass'].'">'; 
                                      echo'<input name="acad" type="hidden" value="'.$_GET['acad'].'">'; 
                                      echo'<input name="resp" type="hidden" value="'.$_GET['resp'].'">'; 
                                      echo'<input name="tel" type="hidden" value="'.$_GET['tel'].'">'; 
                                      ?> 
                                     <td colspan="2"><br/><center><input type="submit" value="Valider" name="ok"></center><br/></td> 
                                   </tr> 
                                   </form> 
                                   </table> 
                                   </form> 
                                   </center> 

                                <?php 
                                  if(isset($_POST['ok'])) 
                                  { 
                                     include'bdd.php'; 
                                     $ass=$_POST['ass']; 
                                     $acad=$_POST['acad']; 
                                     $resp=$_POST['resp']; 
                                     $tel=$_POST['tel']; 
                                     $transport=$_POST['transport']; 
                                     $heure=$_POST['heure']; 
                                     $hotel=$_POST['hotel']; 
                                     if($_POST['navette']=="O") 
                                     { 
                                        $navette="oui"; 
                                     } 
                                     elseif($_POST['navette']=="N") 
                                     { 
                                        $navette="non"; 
                                     } 
									echo $acad;
                                     //$requete="INSERT INTO transport VALUES('','".$ass."','".$acad."','".$transport."','".$heure."','".$navette."','".$hotel."')"; 
                                     //mysql_query($requete) or die(mysql_error()); 

                                     //header("Location:transport.php?inscription_ok"); 
                                     //echo '<script>document.location="restauration.php?ass='.$ass.'&acad='.$acad.'&resp='.$resp.'&tel='.$tel.'";</script>'; 
                                  } 
                                  }

Posté : 14 avr. 2006, 12:07
par tinou
rien ne se passe, pas d'affichage :cry: , je déprime

Posté : 14 avr. 2006, 12:11
par charabia
Donc tu as un problème de récupération plus haut.

Si tu affiches ta source HTML, que vois-tu au niveau de ton champ HIDDEN <input name="acad" type="hidden" ...> ?

Posté : 14 avr. 2006, 12:11
par Jib
montre nous ton code entier stp (la derniere version).

Posté : 14 avr. 2006, 13:21
par tinou
                                <td>
                                <!-- Contenu de la page -->
                                <center>
                                  <br/><br/>
                                  <?php
                                  if((isset($_GET['ass']))&&(isset($_GET['acad']))&&(isset($_GET['resp']))&&(isset($_GET['tel'])))
                                  {
                                  ?>
                                    <br/><br/><br/><form action="transport.php" method="POST">
                                   <table>
                                   <tr>
                                     <td>Moyen de Transport</td>
                                     <td><input name="transport" type="text" value="" size="15"><br/></td>
                                   </tr>
                                   <tr>
                                     <td>Heure d'arrivée sur Amiens</td>
                                     <td><input name="heure" type="text" value="" size="4"><br/></td>
                                   </tr>
                                   <tr>
                                     <td>Desirez-vous une navette?</td>
                                     <td>oui<input name="navette" type="radio" value="O" >&nbsp;&nbsp;&nbsp;&nbsp; non
                                     <input name="navette" type="radio" value="N" ><br/></td>
                                   </tr>
                                   <tr>
                                     <td>Hôtel choisi</td>
                                     <td><input name="hotel" type="text" value=""><br/></td>
                                   </tr>
                                   <tr>
                                      <?php
                                      echo'<input name="ass" type="hidden" value="'.$_GET['ass'].'">';
                                      echo'<input name="acad" type="hidden" value="'.$_GET['acad'].'">';
                                      echo'<input name="resp" type="hidden" value="'.$_GET['resp'].'">';
                                      echo'<input name="tel" type="hidden" value="'.$_GET['tel'].'">';
                                      ?>
                                     <td colspan="2"><br/><center><input type="submit" value="Valider" name="ok"></center><br/></td>
                                   </tr>
                                   </form>
                                   </table>
                                   </center>

                                <?php
                                  if(isset($_POST['ok']))
                                  {
                                     include'bdd.php';
                                     $ass=$_POST['ass'];
                                     $acad=$_POST['acad'];
                                     $resp=$_POST['resp'];
                                     $tel=$_POST['tel'];
                                     $transport=$_POST['transport'];
                                     $heure=$_POST['heure'];
                                     $hotel=$_POST['hotel'];
                                     if($_POST['navette']=="O")
                                     {
                                        $navette="oui";
                                     }
                                     elseif($_POST['navette']=="N")
                                     {
                                        $navette="non";
                                     }
                                      echo''.$acad.'';
                                     /*if(($ass!=null)&&($acad!=null)&&($transport!=null)&&($heure!=null)&&($navette!=null)&&($hotel!=null))
                                     {$requete="INSERT INTO transport VALUES('','".$ass."','".$acad."','".$transport."','".$heure."','".$navette."','".$hotel."')";
                                     @mysql_query($requete) or die(mysql_error());

                                     //header("Location:transport.php?inscription_ok");
                                     echo '<script>document.location="restauration.php?ass='.$ass.'&acad='.$acad.'&resp='.$resp.'&tel='.$tel.'";</script>';
                                     }
                                     else
                                     {
                                             echo'blem';
                                     }*/
                                  }