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 : 39
    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é ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    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 :
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    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 : 39
    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 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    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 : 39
    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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39
    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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    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 104
    Points : 8 224
    Points
    8 224
    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 ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  18. #18
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    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 104
    Points : 8 224
    Points
    8 224
    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']
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

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