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 :

Ajouter variables (l'une après l'autre) à l'URL


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Slovénie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 9
    Points
    9
    Par défaut Ajouter variables (l'une après l'autre) à l'URL
    Bonjour à tous !

    J'ai un code PHP qui me permet de remplir des menu déroulants à partir de requêtes SQL.

    La deuxième requête est dépendante de la première, je récupère ce que la valeur du premier menu déroulant que l'utilisateur à choisie en cliquant sur un bouton "Valider".

    L'URL reçoit bien la variable demandée et la deuxième requête peut alors être effectuée.

    Mon problème est le suivant, lorsque j’appuie sur le bouton "Valider" du second menu déroulant pour ajouter la nouvelle variable à l'URL, cela ne fonctionne pas, la variable du premier menu est remplacée par la seconde or il me faut ces deux variables pour pouvoir générer une nouvelle page...


    Ma question est donc : ''Comment faut-il faire pour ajouter une nouvelle variable à l'URL courante sans supprimer les variable déjà existantes ?"

    Je me demande si cela ne serait pas la faute au bouton de type Submit....?


    Ha oui... Voici le fameux code:

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    <!doctype html>
    <html lang="en">
     
    <head>
     
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
     
     
    <title>jQuery UI Selectmenu - Default functionality</title>
     
    <link rel="stylesheet" href="../src/css/stylesheet"  />
    <link rel="stylesheet" href="../src/css/jquery-ui.css">
     
    <script src="../src/javascript/jquery-1.11.0.min.js"></script>
    <script src="../src/javascript/jquery-ui.js"></script>
     
    </script>
    <style>
    fieldset {
    border: 0;
    }
    label {
    display: block;
    margin: 30px 0 0 0;
    }
    select {
    width: 200px;
    }
    .overflow {
    height: 200px;
    }
    </style>
    </head>
     
    <body>
     
     
    <div class="demo">
     
    <p> Sélectionner un noeud </p>
     
    <br/>
     
    <?php
     
     
     
    $db = mysql_connect(‘ADRESSE’, ‘NOMUSER’, ‘PASSWORD’);
     
    mysql_select_db('mysql',$db);
     
     
     
    $requete = ‘MA REQUETE’;
     
    $resultat = mysql_query($requete) or die('Erreur SQL ! <br>'.$requete.'<br>'.mysql_error());
     
     
     
    echo"<form action='test.php' methode='POST'>
    
    <table><tr><td>Noeud
    
    <select name='nomnoeud'>";
     
     
     
     
     
    while($row = mysql_fetch_array($resultat))
     
            {
     
                    echo "<option>$row[0]</option>";
     
           }
    echo"</select></td></tr>
    <TR><TD><input type=submit value='Valider'/></TD></TR>
    </table>
    
    </form>";
     
    mysql_close();
     
    ?>
     
     
    <?php 
     
    $lien = $_SERVER['REQUEST_URI'];
    echo $lien;
     
    ?>
     
     
    <?php
     
    $db = mysql_connect(‘ADRESSE’, ‘NOMUSER’, ‘PASSWORD’);
    mysql_select_db('mysql',$db);
     
    $requete2 = ‘AUTRE REQUETE’ ;
    $resultat2 = mysql_query($requete2) or die('Erreur SQL ! <br>'.$requete2.'<br>'.mysql_error());
     
    echo"<form action='$lien' methode='POST'>
    <table><tr><td>Trunk
    <select name='nomtrunk'>";
     
     
    while($row2 = mysql_fetch_array($resultat2))
            {
                    echo "<option>$row2[0]</option>";
           }
    echo"</select></td></tr>
    <TR><TD><input onclick='nomnoeud' type=submit value='Valider'/></TD></TR>
    </table>
    </form>";
    mysql_close();
    ?>
     
    <br/>
     
     
    <br/>
    </div>
    </body>
    </html>

    Je vous remercie par avance de l'aide que vous pourrez m'apporter,
    Cordialement,
    FLIGHT'

  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
    Déjà ce n'est pas methode="POST" mais method="POST".

    Et donc dans l'URL tu n'as rien puisque tu utilises une méthode POST et non GET.
    La bonne façon de passer la valeur est alors un champs hidden dans le deuxième formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="hidden" name="nomnoeud" value="' . $_POST['nomnoeud'] . '" />';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    [HS]
    Déjà ce n'est pas methode="POST" mais method="POST".
    Tu n'appliques pas la loi Toubon ?
    [/HS]
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    method="POST"* (*méthode="POSTER")
    ça doit marcher ça
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut


    Bien que ma préférence irait vers method="POST"* (*méthode="POSTE").
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Slovénie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 9
    Points
    9
    Par défaut
    Salut !

    Merci pour vos réponses


    Mais... par contre pourriez-vous m'expliquer un petit peu comment ça fonctionne et où je dois le mettre le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="hidden" name="nomnoeud" value="' . $_POST['nomnoeud'] . '" />';
    ainsi que le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    method="POST"* (*méthode="POSTER")

    PS : Sauf que quand je mets "methode" ben ça fonctionne ça le met bien dans l'URL et avec le "method" ça fonctionne plus xD


    En fait c'est ma première page en PHP alors je suis un peu perdu ^^

    Et tous les forum où je cherche des solutions les réponses s'adressent à des gens qui s'y connaissent donc du coup je suis plus que perdu....


    FLIGHT'

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Sauf que quand je mets "methode" ben ça fonctionne ça le met bien dans l'URL
    Ben non justement, si "ça" le met dans l'URL, c'est précisément parce que ça fonctionne pas !
    Tu demandes une méthode POST, qui transmet les données dans le corps de la requête, donc si elles apparaissent dans l'URL, c'est qu'elles sont envoyées en GET, qui est la méthode par défaut.

    Et ne prend pas au sérieux les blagues que j'ai pu faire (et auxquelles sabotage a répondu).
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Slovénie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 9
    Points
    9
    Par défaut
    Ha d'accord...

    Mais du coup c'est ce que je voulais au début de pouvoir modifier l'URL je ne comprends plus rien

    Parce que du coup quand je l'avais dans l'URL, je la récupérais pour la seconde requête.
    Et à la fin j'ai besoin de générer une URL qui contiendra ces deux variables...


    Et ne prend pas au sérieux les blagues que j'ai pu faire (et auxquelles sabotage a répondu).
    D'accord, mais c'est pas gentil de se moquer des ptits nouveaux :p

    FLIGHT'

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Mais non, ce n'était pas de la moquerie, juste un peu de détente.

    Bref, comme déjà expliqué par sabotage et moi, la méthode POST transmet les données dans le corps de la requête, la méthode GET dans l'URL. Mais dans les deux cas, ils sont récupérables via respectivement les tableaux $_POST et $_GET.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Slovénie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 9
    Points
    9
    Par défaut
    Mais non, ce n'était pas de la moquerie, juste un peu de détente.
    Vi je m'en doute bien ^^


    Ammm par contre je veux bien que l'on m'explique un petit peu éventuellement avec du code car je ne comprends plus rien du tout...

    POST, c'est pour "poster" la variable et GET pour la récupérer?

    Dans le corps de la requête ? Quelle requête ? xD


    Comme je vous disais c'est la première fois que je fais du PHP vous pouvez comprendre que je suis un peu perdu ^^


    FLIGHT'

  11. #11
    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
    Non, POST et GET sont deux méthodes différentes pour envoyer des données.

    Avec POST les données sont incluses dans le corps de la requête, et arrivent dans la variable $_POST de PHP.
    Avec GET les données sont mises dans l'URL et arrivent dans la variable $_GET de PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Sémantiquement, il existe une différence théorique entre les verbes HTTP GET et POST.
    GET devrait servir à récupérer des données spécifiques du serveur correspondant à la valeur passée.
    POST devrait servir à effectuer des traitements au niveau du serveur (par exemple des mises à jour de base).

    Mais en pratique, la sémantique des verbes est très peu respectée.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Slovénie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 9
    Points
    9
    Par défaut
    Ha okay c'est... Bizarre xD


    Mais je ne vois toujours pas comment faire, j'ai beau essayer pleins de trucs ça ne fonctionne pas

  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
    Et en faisant comme on t'a indiqué tu as essayé ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Slovénie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 9
    Points
    9
    Par défaut
    J'ai essayé oui... Enfin je crois car je ne sais même pas à quel endroit le mettre...


    FLIGHT'

  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
    N'importe ou entre <form> et </form>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Slovénie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 9
    Points
    9
    Par défaut
    Malheureusement ça ne fonctionne pas j'ai une page toute blanche....

    Problème de quotes peut-être ?

  18. #18
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Une page blanche peut aussi provenir d'une erreur (";" oublié par exemple) quand l'affichage des erreurs n'est pas activé (cf. phpinfo).
    Avez-vous regardé le fichier de logs ?
    Christophe

    Pensez à mettre quand c'est le cas.

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Slovénie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2015
    Messages : 42
    Points : 9
    Points
    9
    Par défaut
    Salut !

    Merci Christophe je ne savais pas qu'il y avait un fichier log cela pourrait être utile en effet...

    Du coup quand je regarde les logs après avoir ajouté le code (et donc avoir une page qui ne s'affiche pas ^^) j'ai l'erreur suivante:

    PHP Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/www/html/Infost2web/web/test2.php on line 81, referer: http://x.x.x.x/Infost2web/web/test2.php?nomnoeud=XX
    Apparemment c'est bien ce que vous disiez, ça doit être un oubli de ";" mais où ? Telle est la question...

    (Oui ligne 81 apparemment je sais ^^, mais j'ai essayé de l'enlever, de jouer avec les quotes et d'enlever/ajouter mais rien n'y fait...)

    Je ne serais pas contre un petit peu d'aide svp

    FLIGHT'

  20. #20
    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
    Si tu ne nous montres pas le script ça va être difficile pour nous aussi.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2010] Ajouter des feuilles les une après les autres VBA
    Par Stroub dans le forum Excel
    Réponses: 1
    Dernier message: 22/11/2012, 18h40
  2. Variables d'une image à l'autre
    Par Max(soul) dans le forum Flash
    Réponses: 2
    Dernier message: 07/10/2006, 20h34
  3. Réponses: 7
    Dernier message: 06/07/2006, 22h33
  4. Passer une variable d'une classe à l'autre
    Par Gibou dans le forum C++
    Réponses: 2
    Dernier message: 16/06/2006, 08h38
  5. Valeur d'e variable d'une fct dans autre fonction
    Par Torpedox dans le forum Langage
    Réponses: 3
    Dernier message: 11/11/2005, 08h48

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