probleme de redirection de pages

Eléphant du PHP | 86 Messages

14 avr. 2006, 11:16

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 11:21

Cependant lors de l'enregistrement, une des variables ne s'enregistre pas
Quel est donc cette variable qui fait des siennes ?

Eléphant du PHP | 86 Messages

14 avr. 2006, 11:30

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 :)

Jib
Eléphanteau du PHP | 39 Messages

14 avr. 2006, 11:33

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....

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 11:36

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 ?

Eléphant du PHP | 86 Messages

14 avr. 2006, 11:39

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.
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Eléphant du PHP | 86 Messages

14 avr. 2006, 11:40

je ien de verfier, ce n'est pas le probleme des 2 form. :x
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Jib
Eléphanteau du PHP | 39 Messages

14 avr. 2006, 11:49

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.

Eléphant du PHP | 86 Messages

14 avr. 2006, 11:54

merci je vai testé ca tout de suite :)
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Eléphant du PHP | 86 Messages

14 avr. 2006, 11:59

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:
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 12:03

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>'; 
                                  } 
                                  }

Eléphant du PHP | 86 Messages

14 avr. 2006, 12:07

rien ne se passe, pas d'affichage :cry: , je déprime
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 12:11

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" ...> ?

Jib
Eléphanteau du PHP | 39 Messages

14 avr. 2006, 12:11

montre nous ton code entier stp (la derniere version).

Eléphant du PHP | 86 Messages

14 avr. 2006, 13:21

                                <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';
                                     }*/
                                  }
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D