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 :

Problème de passage de variable via la méthode POST


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème de passage de variable via la méthode POST
    bonjour,
    Je suis actuellement en stage dans une entreprise et celle-ci m'a demandé de migrer des sites intranets d'un serveur window 2003 à un serveur windows 2012 R2.

    Il y a donc maintenant 3 sites intranet sur le serveur windows 2012 R2 et ils sont situés sur un serveur wamp.
    Mon probléme est qu'aujourd'hui les sites intranets ne fonctionnent plus correctement, notement lors de l'utilisation de la méthode POST de php, en effet la variable qui est censé être transmisse à une autre page via cette méthode n'est pas toujours transmisse.

    J'ai fait quelques tests et après ceux-ci, j'ai observé que lorsque je reste moins de 5 secondes (environ) sur la page avant d'activer la méthode POST (via un bouton ou une liste déroulante) la variable était bien récupérée par mon autre page, mais lorsque j'attends plus de 5 secondes sur ma page aucune valeur n'est récupérée lors du passage sur une autre page.

    Je ne sais pas d'ou provient ce probléme, si il est lié à un paramétre de php, à une mauvaise configuration de mon serveur wamp ou encore à une erreur de code (mais dans ce cas là je ne comprend pas pourquoi mon code fonctionnerait sur le serveur 2003 et pas le 2012 R2).

    Donc si vous avez des idées ou des propositions à me soumettre pour résoudre ce problème je vous remercie d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 107
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Je pense que le problème se situe à la ligne 1252 de ton script .

    Blague à part, si tu veux de l'aide, il nous faudrait les scripts qui sont appelés.

    Est ce que le problème survient sur une seule variable ou sur toutes ? Ou seulement certaines ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    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
    echo "<table style='font-family: Bookman Old Style; text-align: left; width: 40%;' border='0' cellpadding='3' cellspacing='0'>";
    echo "<tr bgcolor='#CCCCCC'>";
    echo "<td><font size='2'><b><a href='index.php'>...</a>&nbsp;&nbsp;>&nbsp;&nbsp;<a href='?page=1&cp=".$choix_cp."'>".$choix_cp."</a></b></font></td>";
    echo "</tr>";
    echo "</table><br>";
     
    /* requête SQL qui compte le nombre total d'enregistrement dans la table et qui récupère tous les enregistrements */
    $select = "SELECT cp FROM contenu GROUP BY cp ORDER by cp";
    $result = mysqli_query($link_ccp,$select) or die ("Erreur : ".mysql_error() );
     
    /* ----- Creation du tableau liste de choix cp ----- */
     
    echo "<form name='afficher_cp' method='post' action='?page=2'>";
     
    echo "<center><table width='50%' border='0' bgcolor='#FFFFBB'>";
    echo "<tr>";
    echo    "<td width='15%' align='right'><font face = 'Times New Roman'>Choix du CP :</font></td>";
    echo    "<td width='30%' align='center'><select name='liste_cp' style='width:150px;align:center' onChange='javascript:this.form.submit();' >";
            while ($row = mysqli_fetch_array($result))
            {
              if ( $choix_cp == $row['cp'] )
                  echo "<option selected VALUE='".$row['cp']."'>".$row['cp']."</option>";
              else
                  echo "<option VALUE='".$row['cp']."'>".$row['cp']."</option>";
            }
    echo "</select>";
     
    echo    "</td>";
    echo "</tr>";
    echo "</table></center></form>";
     
    mysqli_free_result($result);
    Oui désolé, voici un des endroit ou je rencontre le problème.
    Le problème survient sur toute les variables utilisant un POST et sur tout les sites se trouvant sur le wamp.
    De plus j'ai oublié de le précisé, mais je ne rencontre pas ce problème lors de l'utilisation des sites avec le navigateur Chrome. Cependant les normes de l'entreprise dans laquelle je fais mon stage m'impose l'utilisation de Internet Explorer 11.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Il serait intéressant de savoir en changeant de serveur si tu changes également de version de PHP, et si oui de quelles sont les versions avant et après.

    A noter que si le problème dépend du navigateur, il est possible qu'il ne soit pas au niveau du code PHP mais au niveau de la partie HTML, surtout si tu as du javascript dans l'équation.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par exteh Voir le message
    ...et sur tout les sites se trouvant sur le wamp...
    Quelle version ?

    Et en ré-installant complètement la dernière version de WampServer ?

  6. #6
    Membre confirmé
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Points : 451
    Points
    451
    Par défaut
    Bonjour,

    j'ai du mal à comprendre ce que tu appelles "activer la méthode POST".
    Tu passes les données de ton formulaire en Ajax, ou en changeant de page (en appuyant sur submit) ?

    POST est un verbe présent dans la requête HTTP, qui encapsule des données au format texte (couples clé->valeur, xml, json...) et le requête HTTP elle-même est indépendante du navigateur, et même, normalement, du temps que tu mets à la provoquer...
    Du coup, si ça marche sur Chrome, c'est que ta requête est bonne et que son POST arrive bien au serveur.
    Je pencherais du coup plutôt sur un "problème" lié à IE... mais je vois pas où les 5 secondes pourraient jouer...

    Sinon, il peut y avoir des sécurités installée sur Windows Server (ou wamp) si les requêtes passent d'un domaine à un autre.
    regarde du côtes des CORS (Cross-origin resource sharing), qui permettent d'envoyer du POST entre deux domaines différents (d'origine, les serveur web ont des protections contre l'échange de données notamment par POST entre domaines différents...)
    avec un code comme celui-ci dan ton .htaccess, si c'est ton problème, ça devrait aller mieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Header set Access-Control-Allow-Origin *
    Header set Access-Control-Allow-Headers X-Requested-With,content-type,X- Forwarded-Proto
    Header set Access-Control-Allow-Methods GET,POST
    sans données supplémentaires, c'est difficile de comprendre d'où vient ton problème....

  7. #7
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Bonjour,

    Avec le bout de code que tu nous as donné, c'est difficile de dire quoi que ce soit... vu que ton problème vient de variables $_POST, et dans ce code (comme tu l'auras remarqué) il n'y a pas une seule variable $_POST =)

    Enfin, comme l'a dit @kalimukti je suppose que ton formulaire est envoyé via AJAX, et c'est souvent un problème avec Safari et parfois IE.

    En effet, le session_id() est différent entre le formulaire et l'appel AJAX. Une méthode est d'envoyer le session_id() en paramètres dans ton appel AJAX (et donc de réinitialiser le session_id() quand tu vois qu'il est défini).

    Ce n'est pas une solution que j'aime car transmettre le session_id() est un trou de sécurité mais ça vaudrait le coup d'au moins essayer histoire de voir si ça vient bien de là.

    Quand tu dis que tu ne récupères pas les valeurs de $_POST, comment l'as-tu testé ? J'ai l'impression que tu regardes simplement si la ligne a été ajoutée en DB, or il faudrait regarder ce qu'il se passe au moment de l'appel AJAX :
    - vérifier les valeurs $_POST transmises
    - regarder s'il n'y a pas une erreur au niveau de la requête qui fait que rien n'est ajouté en DB
    - regarder s'il n'y a pas une redirection (par exemple, si le session_id() est différent, on pourrait imaginer que le site considère l'utilisateur comme non connecté et donc redirigé automatiquement vers un formulaire de login)

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Est ce par hasard, votre page contient un refrech de genre: <META HTTP-EQUIV=" Refresh " CONTENt=x>?

Discussions similaires

  1. Problème de passage de variable
    Par Duero dans le forum Balisage (X)HTML et validation W3C
    Réponses: 18
    Dernier message: 08/09/2006, 18h00
  2. Réponses: 4
    Dernier message: 20/06/2006, 13h12
  3. passage de variables via un header
    Par Eisy dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2006, 17h14
  4. problème de passage de variables par POST
    Par jeanfrancois dans le forum Langage
    Réponses: 7
    Dernier message: 03/05/2006, 13h36
  5. [FLASH MX] Problème de passage de variable
    Par mandaillou dans le forum Flash
    Réponses: 2
    Dernier message: 15/11/2005, 10h22

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