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 :

syntaxe curieuse pour passer des paramètres à une page PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut syntaxe curieuse pour passer des paramètres à une page PHP
    Bonjour,

    je suis en train de modifier un code, donc la première étape est de comprendre l'existant ! Or, j'ai à faire à une syntaxe que je ne comprends pas :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?page=administration?passwd">Changer de mot de passe</a>
    autant je comprends bien qu'à la page index.php, on passe le paramètre "page" avec la valeur "administration" (qu'on récupère dans index.php par $page=$_GET['page'];), autant je ne comprends pas la suite (?passwd) ; peut-on me l'expliquer ?

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Hum... c'est pas trop orthodoxe comme syntaxe. Il ya probablement de la réécriture d'url par dessous.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    @Celira
    Tant qu'à faire de l'URL Rewriting, on aurait plutôt vu/espéré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="administration.php?passwd">
    Donc, à priori, ce n'est pas ça.

    index.php?page=administration?passwd :
    Perso, je pencherais pour une... erreur : "?" au lieu de "&" ou "#"

    @laurentSc
    1/ As-tu vu quelque part dans index.php :
    • une utilisation/récupération d'une variable "passwd" ?? (ou dans un fichier en include ?)
    • une ancre id="passwd" ? (moins probable)

    2/ As-tu testé en enlevant ?passwd du code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?page=administration">
    Il se passe quoi ?

    2/ Ou en ajoutant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?page=administration?passwd=blabla">
    Il se passe quoi ?

    Bref : à toi aussi d'être CURIEUX

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Désolé, mais depuis lundi après-midi, pas pu regarder ; d'ailleurs, je n'ai vu qu'aujourd'hui que jreaux62 était intervenu. Bon je suis dans un contexte différent, sachant que lundi, le code tournait sur un serveur (qui lui-même contient Wampserver et c'est grâce à ça qu'il exécute le PHP (j'étais au boulot)) et là, je suis chez moi, donc exécute le code depuis un Wampserver qui tourne sur mon PC (car l'accès à distance fonctionne mais rame) et là, c'est un peu différent de lundi ; le lien marche mais je ne comprends pas.

    Voilà ce que j'ai vu : la page "administration.php", en gros est un gros switch :
    Code php : 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
     
    <?php
    error_reporting(E_ALL ^ (E_NOTICE|E_WARNING|E_DEPRECATED));
    include (dirname(dirname(__DIR__)).'\pdo\config\config.php');
     
    include_once dirname(dirname(__DIR__))."\pdo\connect_mysql.php";
     
    if ((!isset($bdd)))
    	$bdd=connect_mysql();
     
    echo "<font face=lucida size=+1 color=#FF0000><b>Tâches d'Administration</b></font><br><br>";
     
     
    switch ($id)
    {
     
    case "changepasswd":
    ...
    break;
     
    case "passwd" : 
    ...
    break;
     
    et encore 3 cases et :
    default :
    echo "<br>
    	<ul>
      	<li><font face=lucida><a href=\"indexpage.php?page=administration?passwd\">Changer de mot de passe</a></font></li>
      	<li><font face=lucida><a href=\"indexpage.php?page=administration?musers\">Membres de l'équipe</a></font></li>
    	</ul>";
     
    break;
    }
    (le font face, pas encore corrigé...)
    donc la première fois qu'on va sur la page "administration.php", la variable $id ne valant rien, on passe dans le default, ce qui affiche 2 liens dont celui que j'avais montré et si on clique par exemple sur le premier, la variable $id prend la valeur "passwd" : quel le mécanisme ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    ..., la variable $id ne valant rien, ... quel le mécanisme ?...
    Encore une fois : A TOI d'être curieux !

    Il y a 2 includes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    include (dirname(dirname(__DIR__)).'\pdo\config\config.php');
     
    include_once dirname(dirname(__DIR__))."\pdo\connect_mysql.php";
    As-tu regardé dedans ???

    $id doit bien être défini à un endroit ou un autre.

    A toi de trouver le bout de code...

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Je viens de m'apercevoir que ce matin, j'ai oublié de répondre : donc rien à voir avec ces 2 includes (que j'avais créés moi-même suite à tes explications), mais c'est quand même lié à un include car ce qu'on ne peut pas voir ici, c'est que la page administration.php est elle-même incluse dans la page principale (que j'ai renommée "indexpage.php") et que dans cette page, il y a en tête le code $id=$_GET['id']mais ça expliquerait bien si le lien était de la forme indexpage.php?page=administration&id=psswd or il n'est que indexpage.php?page=administration?psswd et ça fonctionne quand même à savoir que si on clique dessus et que dans administration.php (rappel : cette page est incluse dans indexpage.php) je place un echo "id=".$id;, celui-ci vaut bien "passwd". Quelqu'un comprend pourquoi ? (J'ai beau être curieux, je ne vois pas...)

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/10/2014, 00h25
  2. Envoyer des paramètres à une page PHP en POST
    Par Skima dans le forum Services Web
    Réponses: 1
    Dernier message: 01/10/2013, 13h37
  3. Passer un paramètre à une page php
    Par inf007 dans le forum Dynamique
    Réponses: 1
    Dernier message: 23/08/2007, 12h27

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