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 :

transformer un $_post["var"] en $var


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Juillet 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Juillet 2006
    Messages : 56
    Par défaut transformer un $_post["var"] en $var
    Bonjour,

    j'ai récupéré la gestion d'un site pour lequel je dois le changer de serveur
    et surprise sur le nouveau serveur aucun des formulaires PHP ne fonctionnent

    le "développeur" de ce site n'a utilisé aucun $_POST puisque son serveur le permettait
    il utilisait $variable au lieu de $_POST["variable"]

    pour que tous les formulaires marchent à nouveau je dois définir partout
    $variable = $_POST["variable"];
    chose pas trop compliqué
    mais le problème c'est qu'il y a beaucoup de variable de ce type (et je vais gérer 2 autres sites de ce développeur qui seront dans le même style à coup sûr)

    après tout ce blabla voici ma question :

    Est-ce que quelqu'un aurait une fonction "magique" qu'il me suffirait d'appeler en début de page qui retournerai tous les $_POST["variable"] en $variable

    je pensai utiliser des fonctions du type array_keys($_POST) et array_values ($_POST) mais je ne suis pas un développeur expérimenté

    P.S. je suis sur un serveur linux dont je ne pense pas pouvoir modifier la config pour que le serveur gère cela possible

    merci d'avance pour votre aide

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    La premiere solution serait de réactiver le register_globals pour que ca marche sans changer tous les scripts. Mais ca n'est pas tres sécurisé.

    La seconde solution est effectivement d'appliquer une rustine au début de tes scripts qui feront la transformation eux-mêmes (mais ca ne sera pas plus sécurisé au fond...)
    Un code de ce style devrait fonctionner. Je n'ai pas fait de PHP depuis plusieurs semaines alors je ne promets rien mais l'idée est là : récupérer pour chaque élément du tableau $_POST sa clé et l'utiliser comme nom de variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($_POST as $key => $value )
    {
    ${$key} = $value;
    }

  3. #3
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Juillet 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Juillet 2006
    Messages : 56
    Par défaut
    je vous remercis
    c'est exactement ce que je cherchais et comme je ne connaissais pas register_globals et son principe, je cherchais dans le vide

    merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Est-ce que quelqu'un aurait une fonction "magique" qu'il me suffirait d'appeler en début de page qui retournerai tous les $_POST["variable"] en $variable

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

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