Récupérer variable depuis formulaire [Résolu]

Signaler
Messages postés
9
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
18 novembre 2008
-
Messages postés
9
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
18 novembre 2008
-
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

Messages postés
340
Date d'inscription
dimanche 18 septembre 2005
Statut
Membre
Dernière intervention
22 octobre 2009

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


    }


}


?>
Messages postés
340
Date d'inscription
dimanche 18 septembre 2005
Statut
Membre
Dernière intervention
22 octobre 2009

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 ...
Messages postés
9
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
18 novembre 2008

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.
Messages postés
340
Date d'inscription
dimanche 18 septembre 2005
Statut
Membre
Dernière intervention
22 octobre 2009

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
Messages postés
9
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
18 novembre 2008

Merci encore une fois pour votre aide
J'ai pu finalement résoudre le probléme, c'est ce que je voulais savoir exactement