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

PHP & Base de données Discussion :

problème avec extract($_GET)


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 23
    Points
    23
    Par défaut problème avec extract($_GET)
    Bonjour,

    Dans mon code je récupère les variables GET avec extract ; seulement la troisième fois que je l'utilise il ne me récupère rien.
    J'ai vérifié avec un echo et nada.

    quelle pourrait etre le problème a votre avis?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourrais-tu nous montrer le code concerné ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 23
    Points
    23
    Par défaut
    voici le code
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    extract($_GET);
    echo'$filiere';
    SELECT count(*) from resultat JOIN etudiants USING (le_champ_de_jointure_commun_aux_deux_tables) WHERE module = '$module' and FIIERE='$filiere'"

    le echo fiiere ne m'affiche rien.
    en sachant qu'un peu plus loin j'ai utilisé le meme extract GET ET QUAND JE FAIS ECHO SA MARCHE

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Les variables ne sont pas interpretées dans les guillemets simples, de plus les guillemets ne servent pas ici :

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 23
    Points
    23
    Par défaut
    le probleme n'est pas dans echo j'ai fait echo juste pour voir si la variable est récupérée dans la raquete en utilisant $filiere sa ne marche pas mais si je remlace $filiere par uen chaine par exemple "architecture" cela marche donc le probléme est dans la variable $filiere

  6. #6
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Bonjour,

    Concernant la fonction extract(),
    si tu as un script monScript.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    extract($_GET);
    echo $filiere;
    et que tu l'appelles de cette manière :
    monScript.php?filiere=architecture
    L'echo va obligatoirement (sauf erreur de frappe dans la QueryString) afficher :
    architecture
    En revanche,
    ensuite,
    il faudrait stocker ta requête dans une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = "SELECT count(*) FROM resultat JOIN etudiants USING (le_champ_de_jointure_commun_aux_deux_tables) WHERE module = '$module' AND FIIERE='$filiere'";
    Pour vérifier la syntaxe de ta requête,
    tu peux alors en profiter pour en faire un echo
    avant de l'envoyer au serveur MySql :
    Fred

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 23
    Points
    23
    Par défaut
    au fait la requete comme elle est je lessaye dabord sur php myadmin et il n y a pas de probleme mais quand j'utilise la variable $filiere c kom si $filiere='' pour lui parck kon jaffiche
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"filiére :'.$filiere' "
    il me donne
    filiere :

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    On est d'accord que pour accèder a ta page tu passes par un lien, que tu as controlé dans ton navigateur et que contient bien page.php?filiere=quelque_chose ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 23
    Points
    23
    Par défaut
    Ce que je ne comprends pas ce qu'un peu plus loin dans le script , je fais le meme extract get et lele meme echo $filiere et sa marche mais juste avant la requete ou jen ai besoin il me le recupére pas?
    jy comprends rien!!

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Montre nous du code et essai de repondre aux questions, sinon on ne peut pas t'aider.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 23
    Points
    23
    Par défaut
    pour le code je l'enverai la prochaine la je dois yaller , mais poru les réponses aux questions je ne vois pas a quele question j n'ai pas repondu

  12. #12
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Citation Envoyé par javagirl08 Voir le message
    au fait la requete comme elle est je lessaye dabord sur php myadmin et il n y a pas de probleme mais quand j'utilise la variable $filiere c kom si $filiere='' pour lui parck kon jaffiche
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"filiére :'.$filiere' "
    il me donne
    Fais donc des copier/coller de ton code et du rendu sur ton navigateur,
    parce que,
    même si l'extract ne fonctionne pas et que $filiere est vide,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"filiére :'.$filiere' "
    cela devrait afficher
    filiére :'.'
    et non pas
    filiere :
    Fred

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 23
    Points
    23
    Par défaut
    oui sa donne sa
    et quand je fais
    sa donen rien c est vide
    voici mon code
    Code sql : 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
    if (isset($_POST['num']))
      {
     
         {
     
            extract($_POST); // c'est pour  extraire toutes les variables du formulaire dans le tableau $_POST
     //rekete for
    $taille = ((sizeof($_POST) -4)/5);
     
    echo"<br>";
    $sql= "SELECT COUNT(module) FROM resultat";
     
    $req = mysql_query ($sql) or die ("la requête ne peut pas etre exécutée");
     
    $total = mysql_fetch_row($req);
     
    //je compare le module tapé esk il y est deja ou pa sil y est pa je met insert
     
    extract($_GET);
     
    echo "filiére :'.$FILIERE'";
    $req_select = "SELECT COUNT(*) FROM resultat JOIN etudiants ON resultat.id_etu = etudiants.MATBAC  WHERE resultat.module = '$module' AND etudiants.FILIERE='$FILIERE' ";
    $requ = mysql_query ($req_select) or die ("la requête ne peut pas etre exécutée");
     
    $exist = mysql_fetch_row($requ);
    echo"$exist[0]";
     
    if (($total[0]==0) or ($exist[0]==0))
    {echo"yes";}...........

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    $filiere et $FILIERE ce n'est pas la même chose.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 23
    Points
    23
    Par défaut
    je sais bien,

    mais j'ai besoin de la variable $FILIERE et un peu plus loin dans le code je fais
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
            //include ("connexion.php");
     
     
            extract($_GET);
     
    echo"<i><b>Filiére  </b></i>  : $FILIERE";
    echo"<br>";
    et sa marche c'est pour sa que sa me rend folle
    parce que un peu plus loin sa marche mais au niveau du code envoyé sa ne marche pas !!

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tant que tu nous montreras des bouts de code reconstitué avec des noms de variables qui changent a chaque message, on aura du mal à t'aider.

  17. #17
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 200
    Points : 8 425
    Points
    8 425
    Billets dans le blog
    17
    Par défaut
    poru les réponses aux questions je ne vois pas a quele question j n'ai pas repondu
    Par exemple :

    On est d'accord que pour accèder a ta page tu passes par un lien, que tu as controlé dans ton navigateur et que contient bien page.php?filiere=quelque_chose ?

  18. #18
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 200
    Points : 8 425
    Points
    8 425
    Billets dans le blog
    17
    Par défaut
    D'autre part l'usage de extract( ) n'est pas particulièrement une bonne idée puisqu'il peut écraser des variables existantes et provoquer des failles de sécurité. Mieux vaut utiliser $_GET['filiere'] [EDIT] ou devrais-je dire $_GET['FILIERE']

Discussions similaires

  1. [HTML2PDF] Problème avec extract()
    Par washikarei dans le forum Langage
    Réponses: 4
    Dernier message: 21/08/2014, 14h11
  2. Problèmes avec Requêtes d'extraction 2
    Par NoBru dans le forum Access
    Réponses: 4
    Dernier message: 06/06/2006, 22h05
  3. Problèmes avec Requêtes d'extraction
    Par NoBru dans le forum Access
    Réponses: 3
    Dernier message: 03/06/2006, 15h25
  4. [PHP-JS] Problème avec les $_GET J'en peux plus la
    Par schtek2 dans le forum Langage
    Réponses: 8
    Dernier message: 21/05/2006, 20h56
  5. [EJB2.1 Entity] [CMP] Problème avec l'extraction de la collection des fk.
    Par Last newbie dans le forum Java EE
    Réponses: 1
    Dernier message: 24/12/2005, 16h48

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