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 :

Récupération de $_GET


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Récupération de $_GET
    Bonjour je suis actuellement étudiant, et je me lance dans les bases de données php my sql.

    Cela fait plusieurs jours que je me casse la tête a trouver la solution, j'ai le message suivant qui apparaît:
    "Notice: Undefined index: numero in C:\wamp\www\connectbdd\index.php on line 15"
    si quelqu'un pourrait m'aider ça serait vraiment cool , merci d'avance

    Et mon code est le suivant:
    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
    <?php
    //-------------------------------------------------- En-tête JAVASCRIPT ------------------------------------------------------------
    echo "<script type='text/javascript' src='jquery-1.9.1.js'></script>"; 
    echo "<script type='text/javascript' src='moulinette.js'></script>"; 
    //----------------------------------------------------------------------------------------------------------------------------------
    $numero = $_GET["numero"]; // c'est ici que j'ai l'erreur ligne (15)
     
    //echo "<h1><em>BASE DE DONNEES FILM </em>!</h1> ";
     
    //connexion bdd ----------------------------------------------------------------------------------------------------------------------
    $link = mysql_connect("localhost", "root", "");
    mysql_select_db("bdd_film", $link) or die(mysql_error());
     
    //------------------------------------------------ liste deroulante -----------------------------------------------------------
    echo"SELECTIONNEZ UN DISQUE : ";
    echo "<select id='idnumero' name='namenumero' size='1' onChange='idnumero()'>";
     
    $query= "SELECT DISTINCT film.N_disque FROM film ORDER By N_disque ";
     
    $result = mysql_query( $query, $link) or die($query . " - " . mysql_error());
    while ($ligne = mysql_fetch_array($result))
    {
    echo "<option selected='selected' value='".$ligne['N_disque']."'>".$ligne['N_disque']."</option>";
    }
    echo "</select>";
     
     
    //requete SQL Film ---------------------------------------------------------------------------------------------------------
    echo "<table style='float:center' >";
    echo '
    <tr>
    <th style="background:#A6ECC2">Numero du disque</th>
    <th style="background:#A6ECC2">Genre</th>
    <th style="background:#A6ECC2">Nom</th>
    <th style="background:#A6ECC2">Realisateur</th>
    <th style="background:#A6ECC2">Annee</th>
    <th style="background:#A6ECC2">3D ?</th>
    <th style="background:#A6ECC2">Poid</th>
    
    </tr> ';
     
    $query = "SELECT film.N_disque, film.Genre, film.Nom, film.Realisateur, film.Annee, film.3D, film.Poid FROM film WHERE film.N_disque='".$numero."'";
     
    $result = mysql_query($query, $link) or die($query . " - " . mysql_error());
    while ($ligne = mysql_fetch_array($result))
    {
    echo "
    <tr>
    <td>".$ligne['N_disque']."</td>
    <td>".$ligne['Genre']."</td>
    <td>".$ligne['Nom']."</td>
    <td>".$ligne['Realisateur']."</td>
    <td>".$ligne['Annee']."</td>
    <td>".$ligne['3D']."</td>
    <td>".$ligne['Poid']."</td>
    </tr>";
    }
    ?>
    </table>
    Mon fichier moulinette en javascript est le suivant:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function idnumero(){
    id = $('#namenumero').val();
    id = document.getElementById('namenumero').value;
    location.href('index.php?numero='+id);
    }
     
    Element.update('numero');
    var myAjax = new Ajax.Updater(
    'numero',
    'index.php',
    {
    method: 'get',
    parameters: parametres
    }
    );

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 201
    Points : 4 665
    Points
    4 665
    Par défaut
    Bonjour
    tu fais SELECT DISTINCT film.N_disque et cherches $row['N_disque ']

    film.N_disque != N_disque

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    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 : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par flo31570 Voir le message
    "Notice: Undefined index: numero in C:\wamp\www\connectbdd\index.php on line 15"
    //...
    $numero = $_GET["numero"]; c'est ici que j'ai l'erreur ligne 15
    Ben ça veux dire simplement que la variable $_GET["numero"] n'est pas définie.

    En général on défini une valeur par défaut par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $numero = isset($_GET["numero"])? $_GET["numero"] : 0 ;
    Cela réglera le pb de la notice. Par contre si ta variable $_GET["numero"] doit être toujours indéfinie à cet endroit du code, c'est que tu as un pb pour transmettre cette variable car la notice php indique que tu ne la reçois pas.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    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 : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par papajoker Voir le message
    tu fais SELECT DISTINCT film.N_disque et cherches $row['N_disque']
    film.N_disque != N_disque
    Si si, cela fonctionne.
    D'un autre côté c'est vrai que cela ne sert à rien de concaténer le nom du champ avec le nom de la table, s'il n'y a pas de confusion possible avec une autre table. Enfin bon même si cela ne sert à rien, cela ne gêne pas pour autant

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Alors j'ai fait ce que tu m'as dit ABCIWEB avec le isset(..), l'erreur n'est plus là, merci.

    Mais maintenant lorsque je clic sur un numero de la liste deroulante rien ne se passe, comme s'il n'y avait pas de lien entre mon fichier index.php et mon fichier moulinette.js

    Pour repondre à PapJoker et ABCIWEB, ce que j'ai écrit là : "SELECT DISTINCT film.N_disque FROM film ORDER By N_disque" ne gêne aucunement.

  6. #6
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    Ce n'est pas comme ça qu'on récupères la valeur d'un select en javascript.( je ne parle pas de jquery)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id = document.getElementById('namenumero').value;
    cela écrase ce que tu fais juste avant.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Salut mlebeguec

    Et donc, comment je peux la récupérer cette valeur ?

  8. #8
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Points : 232
    Points
    232
    Par défaut
    Ainsi par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test = document.getElementById('id_du_select').options[document.getElementById('id_du_select').selectedIndex].value;
    Natso

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 091
    Points : 44 631
    Points
    44 631
    Par défaut
    Bonjour,
    Citation Envoyé par mlebeguec Voir le message
    Bonjour,

    Ce n'est pas comme ça qu'on récupères la valeur d'un select en javascript.( je ne parle pas de jquery)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id = document.getElementById('namenumero').value;
    cela écrase ce que tu fais juste avant.
    - la déclaration est des plus correcte
    - la deuxième ligne écrase bien la première mais c'est la même valeur qui est retournée

    exemple
    Code html : 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 lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>[...]</title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    </head>
    <body>
    <select id="the_select" onchange="affiche( this.id);">
      <option value="1">un</option>
      <option value="2">deux</option>
      <option value="3">trois</option>
    </select>
    <script>
    function affiche(id){
      // partie JS
      var obj = document.getElementById( id);
      alert( 'JS : ' +obj.value);
      // parie jQuery
      var obj = $('#' +id);
      alert( 'jQuery : ' +obj.val());
    }
    </script>
    </body>
    </html>
    le passage en paramètre de this.id n'est là que pour illustrer le propos, c'est moche comme code.

  10. #10
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Points : 232
    Points
    232
    Par défaut
    Oui désolé.

    C'est correct.

    Cependant auparavant je me souviens que cette syntaxe ne fonctionnait pas.

    J'étais obligé de passer par la liste des options et de récupérer la valeur de l'index sélectionné.

    Encore une fois désolé.

    Natso

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Salut Nosmoking, tu dis :

    "la deuxième ligne écrase bien la première mais c'est la même valeur qui est retournée"
    donc si je supprime la première ou la deuxième ligne, ça devrait marcher non, vu que l'une efface l'autre et inversement ?

    Ps: j'ai essayé ce que vous m'avez dit.. rien à faire la page ne se rafraîchit toujours pas lorsque je clic sur un numéro de ma liste déroulante..

    Et lorsque que je rentre mon numero de disque dans l'url ça fonctionne, j'ai juste un probleme sur l'actualisation de la page..

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 091
    Points : 44 631
    Points
    44 631
    Par défaut
    Je n'avais pas regardé ton soucis premier de PHP mais il semble que ton soucis soit un soucis javascript.
    echo "<select id='idnumero' name='namenumero' size='1' onChange='idnumero()'>";
    cette ligne montre déjà que l'ID et le NAME sont différents mais bon cela aura son importance, par contre une chose maladroite est de donner le même nom à une ID et à une fonction ici idnumero.

    Maintenant si on reprend ta fonction
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function idnumero(){
      id = $('#namenumero').val();
      id = document.getElementById('namenumero').value;
      location.href('index.php?numero='+id);
    }
    tu fais référence autant en jQuery qu'en Js à namenumero qui est le NAME de ton select et non son ID, là c'est ballot! dans getElementById il y a Id
    Il te faudrait écrire
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function idnumero(){
      id = $('#idnumero').val();
      id = document.getElementById('idnumero').value;
      location.href('index.php?numero='+id);
    }
    ceci étant il y a plus simple dans ton cas, passer directement à la fonction la valeur du SELECT (this.value).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<select name='namenumero' size='1' onChange='fctSelect(this.value)'>";
    pour le coup l'ID ne sert plus à rien, et ta fonction fctSelect pourrait être
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function fctSelect( param){
      if( param.length){
        window.location = 'index.php?numero=' +param;
      }
    }

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Super, ça marche !


    Merci beaucoup NoSmoking, ça venait bien du code JavaScript et de l'ID.

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

Discussions similaires

  1. Récupération avec $_GET dans un formulaire
    Par zonas dans le forum Langage
    Réponses: 20
    Dernier message: 18/06/2015, 18h06
  2. Réponses: 8
    Dernier message: 20/04/2007, 15h18
  3. Réponses: 23
    Dernier message: 21/12/2006, 22h47
  4. [MySQL] Problème de récupération de variables en $_GET
    Par gussoner dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/11/2006, 11h38
  5. [MySQL] Récupération texte URL: Syntaxe $_GET
    Par scottie dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/10/2006, 14h01

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