Pb récupérations POST et GET en même temps

Résolu
Utilisateur anonyme - 21 mars 2007 à 12:08
 Utilisateur anonyme - 22 mars 2007 à 18:00
    Bonjours a tous,

J'ai fait un site dans leque je fesais un include() qui incluaient de bas de page en fonction d'un argument dans l'url, exemple : index.php?menu=contact ouvre la page contact

ensuite j'ai eu besoin d'un deuxieme arguments, pour dire qu'un formulaire est validé par exemple, donc ca donnait un truc dans le genre:
index.php?menu=contact&confirme=yes

le système marchait bien et puis d'un coup je n'ai plus pu récupéré ce qui avant dans confirme ni même dans POST :/ le serveur étant le même je ne comprend pas trops...

Mais, pour reprendre le même exemple j'ai remarqué que lorsque je met contact.php?confirme=yes ca marche.

Je me demande si il n'est pas (plus) possible de récupérer un POST même si le code est compris dans un include

14 réponses

Utilisateur anonyme
22 mars 2007 à 18:00
en effet FHX merci pour l'aide, j'ai enfin trouver le fond du problème... dans mon include je mettais l'url en entier avec http:// et tout, et aparament ca il faut pas trops :)
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
21 mars 2007 à 12:40
Bonjour,

    personnellement je n'ai rien compris au problème.
        en quoi ça est-ce un bug sur CodesSources ? puisque c'est là que tu postes !

    par contre, les gens du php, pourraient probablement répondre facilement...
       si tu leur donnes un peu plus d'élements !
           $_GET['variable'] récupère les données envoyées par GET
           $_POST['variable'] ceux pat POST
       un include n'a rien à voir ?
            c'est insérer les lignes du fichier donné là  où l'ordre est mis.

<hr />


Cordialement                Bul             [mon Site]         [M'écrire]           




<hr />
0
Utilisateur anonyme
21 mars 2007 à 14:07
à oui en effet désolé je pensais avoir poster dans php, bon j'vais aller poster là bas ducoups.
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
21 mars 2007 à 14:09
Déplacé sur phpcs
















<hr />
-Blog-
0

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

Posez votre question
Utilisateur anonyme
21 mars 2007 à 14:41
quelqu'un a compris mon problème? 
0
cs_morpheus57 Messages postés 121 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 30 décembre 2010
21 mars 2007 à 14:49
Hello

si tu as un url du style : http://........./index.php?menu=contact&confirme=yes

c'est normal que tu n'ai rien dans $_POST['confirme']
tu dois utiliser $_GET['confirme']
0
Utilisateur anonyme
21 mars 2007 à 15:06
oui en effet, bon je poste le code je pense que ca serras plus claire
pour aller sur ce formulaire il faut tapper index.php?menu=demande, enfait index c'est le menu du haut avec un include qui prend ce qu'il y à dans $_GET['menu']

ca c'est le code de demande.php:

  ----

       
 
    <FORM name="order" method="POST" action="http://www.alxia.fr/index.php?menu=demande&confirme=yes">
        

<?

$confirme = $_GET['confirme'];
$email = $_POST['email'];
$name = $_POST['name'];
$pass = $_POST['pass'];
$passverif = $_POST['passverif'];
$itsok = 0;

if ($confirme=="yes"){

    if (empty($name))
    {
    echo "Vous devez entrer votre nom.
";
    $itsok = 1;
    }
    if (empty($email))
    {
    echo "Vous devez entrer votre email.
";
    $itsok = 1;
    }
    if (empty($pass))
    {
    echo "Vous devez entrer votre mot de passe.
";
    $itsok = 1;
    }
    if (empty($passverif))
    {
    echo "Vous devez confirmé votre mot de passe.
";
    $itsok = 1;
    }
    if ($pass<>$passverif){
    echo "Les mots de passe ne correspondent pas.";
    $itsok = 1;
    }

    if ($itsok == 0){
   
    echo "C'est bon :).
";

    }

}

?>

      Adresse Email

   
    " type="text" name="email" size=30>

     

      Pseudo

   
    " type="text" name="name" size=30>

     

      Mot de passe

   
    " type="password" name="pass" size=30>

     

      Confirmation mot de passe

   
    " type="password" name="passverif" size=30>

     

     
     
     
   ,
 

Quand je clique sur Submit il va bien sur l'url index.php?menu=demande&confirme=yes, mais quand je veux récupéré avec $_GET['confirme'] il ne trouve rien.
Par contre si je vais directement sur demande.php?confirme=yes, alors il trouves ce qu'il y à dans $_GET['confirme'] et peut commencer la vérification de formulaire..
Si vous avez un piste je vous écoute :)
0
cs_morpheus57 Messages postés 121 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 30 décembre 2010
21 mars 2007 à 15:15
Pourquoi ne mets tu pas un champ hidden 'confirme' dans ton formulaire. De cette manière tu pourra tou récupérer dans $_POST.
0
Utilisateur anonyme
21 mars 2007 à 15:28
na mais le problème c'est que post nonplus il ne marche pas ^^
0
cs_morpheus57 Messages postés 121 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 30 décembre 2010
21 mars 2007 à 15:33
Tu n'as pas de balyse </form>
0
Utilisateur anonyme
21 mars 2007 à 15:52
en effet! je l'ai rajoutée, toujours pareil :/
0
cs_morpheus57 Messages postés 121 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 30 décembre 2010
21 mars 2007 à 16:16
Alors si je peux te donner plusieurs conseils, je dirais ceci :
<ol><li>Utiliser <?php au lieu de <?</li><li>Mettre les balyses html en minuscules</li><li>tester les variables de ton tableau $_POST avec des condition du style :
$name = isset ($_POST['name']) ? $_POST['name'] : '';</li></ol>Après ces changements, j'ai testé ton script et là ...... ça marche.
0
Utilisateur anonyme
22 mars 2007 à 09:36
merci morpheus57 pour tes conseils, ceci dit ca ne marche toujours pas enfait le scrit marche chez moi aussi sauf quand je passe par index.php?menu=demande
si ca peut aider à comprendre :

http://www.alxia.fr/index.php?menu=demande&confirme=yes
ici index.php fait un include de demande.php
là ca marche pas, rien dans GET et rien dans POST

ducoup j'ai voulu tester directement demande.php et le script marche niquel
http://www.alxia.fr/demande.php?confirme=yes
là GET marche (toujours pas POST mais là c'est normal j'ai tappé l'URL directement)

bizzard non?
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
22 mars 2007 à 16:28
Exemple type à ne pas suivre :

<?php
 if ( isset($_GET['confirm']) && $_GET['confirm'] === 'yes') {
      if ( isset($_POST['champ1'], $_POST['champ2']) ) {
           Formulaire soumis.
     }
} else {
 // Formulaire non soumis, affichage du formulaire

}
?>

Pas la peine de t'embéter avec du GET et du POST ! C'est soi l'un, soit l'autre (ceci dit, utiliser GET ici n'a aucun intéret !)

Exemple correct :

<?php
 if ( isset($_POST['champ1'], $_POST['champ2']) ) { 
     // formulaire soumis... traitement !
}

// Formulaire non soumis, affichage du formulaire !
?>
<form action="la_page_que_tu_veux.php?var=truc&var2=machin" method="POST" >

</form>

Juste en utilisant POST.
Le fait d'avoir des variables via l'URL ne change rien du tout !
0
Rejoignez-nous