IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Impossible de récupérer les $_POST d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut Impossible de récupérer les $_POST d'un formulaire
    Bonjour a tous.

    Voila je dois avoir fait une bêtise gros comme moi mais pas moyen de la voir.
    J'aurais besoin d'une regard extérieur pour me botter le c** ^^

    Voila j'ai une page sur la quelle j'ai un formulaire qui renvoi a la même page au submit.

    Mais impossible de récupérer les variables $_POST.

    Si quelqu’un voit ma bêtise merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    <div id='bodyContents'>
        <div id='BoxPoster'>
    <?php
     
    if(isset($_GET['arechercher']))
    {
        echo("<div class='ruban'><h3>Resultat de la recherche</h3></div><div class='coin'></div>");
        //echo('<SCRIPT LANGUAGE="JavaScript">alert("1");</SCRIPT>');
    /*-------------------------------------------------------------------------------------------*/
    /*---------------------Recuperation des select pour la recherche-----------------------------*/
    /*-------------------------------------------------------------------------------------------*/    
        //cette variable sert a savoir si plus d'un parametre rentre en compte lors de la generation de la requete
        $plusieurs_param=false;
     
        if(isset($_POST['nom_site']))
        {
            $nom_site=$_POST['nom_site'];
            $plusieurs_param=true;
            if($plusieurs_param==true)
            {
                $requete["recherche"]=$requete["recherche"]." AND nom_site='$nom_site'";
                echo('<SCRIPT LANGUAGE="JavaScript">alert("dans if if");</SCRIPT>');
            }
            else
            {
                $requete["recherche"]=$requete["recherche"]." nom_site='$nom_site'";
                echo('<SCRIPT LANGUAGE="JavaScript">alert("dans if else");</SCRIPT>');
            }
        }
        else
        {
            echo('<SCRIPT LANGUAGE="JavaScript">alert("dans else");</SCRIPT>');
        }
     
        if(isset($_POST['ligne']))
        {
            $ligne=$_POST['ligne'];
            $plusieurs_param=true;
            if($plusieurs_param==true)
            {
                $requete["recherche"]=$requete["recherche"]." AND ligne='$ligne'";
     
            }
            else
            {
                $requete["recherche"]=$requete["recherche"]." nom_site='$ligne'";
     
            }
        }
     
        if(isset($_POST['pk']))
        {
            $pk=$_POST['pk'];
            $plusieurs_param=true;
        }
     
        if(isset($_POST['critique']))
        {
            $critique=$_POST['critique'];
            $plusieurs_param=true;
        }
     
        if(isset($_POST['nom_devis']))
        {
            $nom_devis=$_POST['nom_devis'];
            $plusieurs_param=true;
        }
     
        if(isset($_POST['createur_devis']))
        {
            $createur_devis=$_POST['createur_devis'];
            $plusieurs_param=true;
        }
     
     
     
    /*-------------------------------------------------------------------------------------------*/
    /*--------------------/Recuperation des select pour la recherche-----------------------------*/
    /*-------------------------------------------------------------------------------------------*/
     
     
     
    }
    else
    {
        echo("<div class='ruban'><h3>Recherche configuration TFNG</h3></div><div class='coin'></div>");
        echo("<form name='rechercher' method='post' action='#page=rechercher&arechercher=true'>");
    /*-------------------------------------------------------------------------------------------*/
    /*-----------------------Creation des select pour la recherche-------------------------------*/
    /*-------------------------------------------------------------------------------------------*/
        $nom_site=$sql->tabresSql($requete['nom_site']);
        echo("<select name='nom_site' style='width:100%;'>");
        echo("<option value='nom site' style='color:lightgrey;'>nom site</option>");
        foreach ($nom_site as $ligne_nom_site)
        {
            echo("<option value='$ligne_nom_site[0]'>$ligne_nom_site[0]</option>");
        }
        echo("</select><BR/><BR/>");
     
        $ligne=$sql->tabresSql($requete['ligne']);
        echo("<select name='ligne' style='width:100%;'>");
        echo("<option value='ligne' style='color:lightgrey;'>ligne</option>");
        foreach ($ligne as $ligne_ligne)
        {
            echo("<option value='$ligne_ligne[0]'>$ligne_ligne[0]</option>");
        }
        echo("</select><BR/><BR/>");
     
        $ligne=$sql->tabresSql($requete['pk']);
        echo("<select name='pk' style='width:100%;'>");
        echo("<option value='pk' style='color:lightgrey;'>pk</option>");
        foreach ($ligne as $ligne_pk)
        {
            echo("<option value='$ligne_pk[0]'>$ligne_pk[0]</option>");
        }
        echo("</select><BR/><BR/>");
     
        $ligne=$sql->tabresSql($requete['critique']);
        echo("<select name='critique' style='width:100%;'>");
        echo("<option value='critique' style='color:lightgrey;'>critique</option>");
        foreach ($ligne as $ligne_critique)
        {
            echo("<option value='$ligne_critique[0]'>$ligne_critique[0]</option>");
        }
        echo("</select><BR/><BR/>");
     
        $ligne=$sql->tabresSql($requete['nom_devis']);
        echo("<select name='nom_devis' style='width:100%;'>");
        echo("<option value='nom_devis' style='color:lightgrey;'>nom devis</option>");
        foreach ($ligne as $ligne_nom_devis)
        {
            echo("<option value='$ligne_nom_devis[0]'>$ligne_nom_devis[0]</option>");
        }
        echo("</select><BR/><BR/>");
     
        $ligne=$sql->tabresSql($requete['createur_devis']);
        echo("<select name='createur_devis' style='width:100%;'>");
        echo("<option value='createur_devis' style='color:lightgrey;'>createur devis</option>");
        foreach ($ligne as $ligne_createur_devis)
        {
            echo("<option value='$ligne_createur_devis[0]'>$ligne_createur_devis[0]</option>");
        }
        echo("</select><BR/><BR/>");
     
     
    /*-------------------------------------------------------------------------------------------*/
    /*----------------------/Creation des select pour la recherche-------------------------------*/
    /*-------------------------------------------------------------------------------------------*/
        echo("<input name='Valider' type='submit' value='Valider' style='width:100%;'>");
        echo("</form>");
    }
    ?>
     
     
     
     
    </div></div>

  2. #2
    Membre très actif Avatar de demenvil
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste développeur
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Par défaut
    Salut !
    Déjà est-ce que ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    $_GET['arechercher']);
    ?>
    Existe ? quand tu valides ton formulaire ?

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    le arechercher existe sans soucis donc le formulaire transmets bien le form mais les autres variables n'existent pas.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action='#page=rechercher&arechercher=true'


    Dans une URL, on passe d'abord les paramètres GET et ensuite l'ancre.
    Dans ton cas, le paramètre GET n'est pas récupéré.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    voici une technique : Formulaire et Traitement sur la même page

    Et tu peux très bien passer "arechercher" en POST dans ton formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="arechercher" value="true" />
    Puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['arechercher']))

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Certes, mais tant que l'attribut action contiendra une ancre, le formulaire ne risque pas de l'emmener bien loin !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Invité
    Invité(e)
    Par défaut
    L'ancre ne dérange en rien l'envoie des données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method="post" action="#fin">
    <input type="text" name="test" />
    <input type="submit" value="OK" />
    </form>
    <div id="fin"><?php if(isset($_POST['test'])) echo $_POST['test']; ?></div>
    Par contre :
    Citation Envoyé par EIN-LESER Voir le message
    le arechercher existe sans souci
    Avant d'affirmer quelque chose, on VERIFIE.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if(isset($_GET['arechercher'])) echo 'arechercher = '.$_GET['arechercher']; ?>
    Dernière modification par Invité ; 05/09/2013 à 11h03.

  8. #8
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Oui ça a toujours fonctionné avec les ancres dans mes codes mais je vais essayer avec le hidden. Merci.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Sinon, la bonne syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action="?arechercher=true#fin"
    Ou dans ton cas : ce ne sont pas des "ancres" (!) mais des paramètres passés dans l'URL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action='?page=rechercher&arechercher=true'

  10. #10
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Oui ce ne sont que des paramètres. Quand j'essaye avec le input hidden il le récupère plus du coup

  11. #11
    Invité
    Invité(e)
    Par défaut
    Tu es sûr d'avoir BIEN LU tous mes messages ?

    Quel est maintenant ton code ?

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par jreaux62
    L'ancre ne dérange en rien l'envoie des données.
    Ben si justement... si l'action est la même page et commence par une ancre, la validation du formulaire ne passera pas par le serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <!doctype html>
    <html>
    <head>
    	<meta charset="utf-8" />
    	<title>Test params / ancres</title>
    </head>
    <body>
    	<p>Paramètres</p>
    	<div>
    <?php
    if(empty($_GET['test'])){
    	echo 'Pas de GET';
    }
    else{
    	echo 'Paramètre GET : '.$_GET['test'];
    }
    ?>
    	</div>
    	<p>Liens</p>
    	<div>
    		<form action="?test=bon#toto" method="POST"><input type="submit" value="GET" /></form>
    		<form action="#toto&test=pas_bon" method="POST"><input type="submit" value="Ancre + GET" /></form>
    	</div>
    </body>
    </html>
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    J'ai essaye en mettant le hidden. du coup il le recuper pas non plus.

    J'ai tente avec un ?page= mais du coup il m'affiche plus rien du tout.

    Je vais recomencer a 0 car d'habitude je le fais comme ça et ce'la fonctionne bien je dois avoir fait une connerie en route.
    Merci a vous tous!!


  14. #14
    Invité
    Invité(e)
    Par défaut
    @Bovino : dialogue de sourds, non ?
    Nos interventions ne sont pas incompatibles (relis les messages).
    Citation Envoyé par Bovino Voir le message
    Dans une URL, on passe d'abord les paramètres GET et ensuite l'ancre.
    Dans ton cas, le paramètre GET n'est pas récupéré.
    Vrai.
    Citation Envoyé par Bovino Voir le message
    Certes, mais tant que l'attribut action contiendra une ancre, le formulaire ne risque pas de l'emmener bien loin !
    Faux.
    Il peut contenir une ancre.
    Le tout est de la placer correctement.

    Conséquemment, nous sommes d'accord.
    En conclusion :
    Il ne faut pas jeter l'ancre avec l'eau du bain.
    Dernière modification par Invité ; 05/09/2013 à 11h26.

  15. #15
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Oui je sais mais je vais devoir regarder de plus pres.
    On m'a obligé de reprendre une architecture préexistante et dans le loaderajax ils ont du farfouiller car l'habituel index.php?page= ne fonctionne plus et est remplacé par #page= je crois que je vais devoir régler cela avant de me repencher sur mon petit soucis de formulaire ^^

    Merci beaucoup en tout cas et dessolé de vous avoir fait perdre votre temps.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par EIN-LESER Voir le message
    l'habituel index.php?page= ne fonctionne plus et est remplacé par #page=
    Regarde dans le .htaccess (urlrewriting ?)
    Mais je ne vois pas l'intérêt de faire ça.

  17. #17
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    voici le htacces:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    php_flag log_errors on
    php_value error_log C:\weblog\rexflex\php-error.log
    <ifModule mod_auth_sspi.c>
    	  Order deny,allow
      Allow from all
      AuthName "Intranet"
      AuthType SSPI
      SSPIAuth On
      SSPIAuthoritative On
      SSPIOfferBasic On
      #BEGIN VERY IMPORTANT prevents IE from dropping post requests
      SSPIPerRequestAuth On
      #END VERY IMPORTANT
      require valid-user
     
      Options Indexes FollowSymLinks
     
     
    </ifModule>
    <Files "rss.php">
    	Allow from all
      Satisfy any
     
    </Files>
    <Files "parcourir_ajax.php">
    	Allow from all
      Satisfy any
    </Files>

  18. #18
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Faux.
    Il peut contenir une ancre.
    Le tout est de la placer correctement.
    Bah... c'est ce que j'ai dit dans mon premier message !
    Citation Envoyé par Moi même
    Dans une URL, on passe d'abord les paramètres GET et ensuite l'ancre.
    Dans ton cas, le paramètre GET n'est pas récupéré.
    Nanmai tu crois pas qu'au jeu du plus pinailleur, je vais te laisser gagner quand même !

    Conséquemment, nous sommes d'accord.
    Oui, c'est le principal.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/06/2014, 17h47
  2. Réponses: 5
    Dernier message: 17/11/2008, 18h29
  3. [PEAR][HTML_QuickForm] Impossible de récupérer les valeurs du formulaire
    Par Mainman dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/05/2007, 13h15
  4. XMLHttpRequest : Impossible de récupérer les données
    Par laurent_ifips dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 22/11/2005, 14h28
  5. [HTML][PHP] Formulaire impossible de récupérer les variables
    Par Pfeffer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 11/11/2005, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo