Récupérer variable depuis formulaire

Résolu
nesrine7 Messages postés 9 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 18 novembre 2008 - 13 nov. 2008 à 08:04
nesrine7 Messages postés 9 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 18 novembre 2008 - 13 nov. 2008 à 11:40
Bonjour à tous,
J'ai une page contenant un formulaire dont je dois récupérer la valeur saisie pour pouvoir la sélectionner depuis la BD dans une deuxième page.
J'ai essayé de le faire dans l'URL, mais tjr il y'a une erreur de 'Undefineded index id'.
voici le code de la premiére page (où le pb se pose):
****test1.php
<form name="f1" method="post" action="test2.php">

[test2.php?id ]
</form>

Merci pour votre aide, et je reste à votre disposition pour toute autre information

5 réponses

cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
13 nov. 2008 à 11:32
Ce n'est pas la bonne méthode pour "rediriger la page test1.php vers test2.php et tous cela bien sure en
récupérant la variable 'id' saisie dans le premier formulaire
et pouvoir l'utiliser dans le deuxiéme".

Je propose la suivante.

test1.php

<?php
if ((isset($_POST['rech'])) && ($_POST['rech'] = = 'Rechercher')) {
    if ($_POST['id'] != NULL) {
        $id=$_POST['id'];
    }
}
?>
<form name="f1" method="POST" action="<?php  echo($_SERVER['PHP_SELF']); ?>">


<?php
    if (isset($id)) { echo('[test2.php?id='.$id.' Lien vers test2.php]'); }
    else { echo(''); }
?>
</form>

test2.php

<?php
    if (isset($_GET['id'])) {
        echo('La valeur du champ id saisi dans la page test1.php est '. $_GET['id']);
    }
?>

Et voici une autre solution plus directe:

Nulle besoin de créer un lien vers la 2ieme page car avec action ="test2.php", la variable $_POST['id'] existera dans la page test2.php

test1.php


<form name= "f1" method="POST" action="test2.php">






</form>

test2.php


<?php


if ((isset($_POST['rech'])) && ($_POST['rech'] == 'Rechercher')) {


    if ($_POST['id'] != NULL) {


        $id=$_POST['id'];


    }


}


?>
3
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
13 nov. 2008 à 09:09
Bonjour,

Tu as mis un bouton dans une balise [unnomquelconque.php?id= '.$_POST['id'].' valeur]');

    }

}

?>

Par ailleurs, tu peux tout aussi bien pointer sur le même fichier avec action="<?php  echo $_SERVER['PHP_SELF']; ?>", et alors ton code ressemblera à

test1.php

<?php


if ((isset($_POST['rech'])) && ($_POST['rech'] == 'Rechercher')) {


    if ($_POST['id'] != NULL) {


        echo 'La valeur du champ id est: '. $_POST['id'];

        echo('[unnomquelconque.php?id='.$_POST['id'].' valeur]');


    }


}


?>

<form name="f1" method="post" action="<?php  echo($_SERVER['PHP_SELF']); ?>">





</form>

Cordialement

PS: j'ai volontairement omis les balises d'usages, eg; <html>, , etc ...
0
nesrine7 Messages postés 9 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 18 novembre 2008
13 nov. 2008 à 09:41
Merci bien pour votre réponse
J'ai essayé de faire ce que vous m'avez dis, mais le pb reste le même 'undefined index'.


Conecrnant l'utilisation de la balise avec un bouton c'est parceque je veux rediriger la page test1.php vers test2.php et tous cela bien sure en récupérant la variable 'id' saisie dans le premier formulaire et pouvoir l'utiliser dans le deuxiéme.
0
cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009
13 nov. 2008 à 11:36
Pourquoi $_POST et pourquoi $_GET ?

La variable SuperGlobale $_POST contiendra tous les champs d'un formulaire lorsque le bouton de soumission a été cliqué.

La variable SuperGlobale $_GET elle contiendra toutes les variables passées dans un URL

Et enfin, si le probleme persiste, il serait mieux de nous montrer tout ton code.

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nesrine7 Messages postés 9 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 18 novembre 2008
13 nov. 2008 à 11:40
Merci encore une fois pour votre aide
J'ai pu finalement résoudre le probléme, c'est ce que je voulais savoir exactement
0
Rejoignez-nous