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 :

Probléme avec un lien en pseudo-frame


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut Probléme avec un lien en pseudo-frame
    Bonjour a tous

    ma question va peut étre vous parrétre béte, mais je débute en php et ca va faire 2 jours que je bloque la dessus.

    J'ai une page index comme ceci
    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
     <?php
     
      // On définit le tableau contenant les pages autorisées
      // ----------------------------------------------------
      $pageOK = array('news' => 'news.php', 
                      'accueil' => 'accueil.php',
    				  'gestion' => 'gestion.php',
    				  'modification1' => 'modification1.php',
    				  'modification2' => 'index.php?page=modification2?id=',
    				  'doc' => 'doc.php');
     
      // On teste que le paramètre d'url existe et qu'il est bien autorisé
      // -----------------------------------------------------------------
      if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
        include($pageOK[$_GET['page']]);   // Nous appelons le contenu central de la page
      } else {
        include('accueil.php');   // Page par défaut quant elle n'existe pas dans le tableau
      }
     
    ?>
    je n'arrive pas afficher ma page modification 2, l'id dans ce lien fais référence a une base de donné en mysql et correspond a l'id de menbre d'une équipe.

    Méme si je force ID par une valeur existente dans ma base de donné j'ai toujour ma page par défaut qui s'affiche.

    si quelqu'un pourvais m'aider ce serais vraiment sympa.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 046
    Par défaut
    déjà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'modification2' => 'index.php?page=modification2&id=
    Ensuite suis je suis ton raisonnement modification2 appelle index.php avec comme paramètre "page=modification2" qui va donc rappelle index.php et ainsi de suite...

    Je constate également que le paramètre ID n'a pas de valeur

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    J'ai tester ta piste de solution, j'ai une erreur qui safiche sur ma page maitenant, c'est deja un mieux .

    Notice: Undefined index: id in C:\wamp\www\index.php on line 29

    Voila mon code modifier suite a la 1ere réponsse

    Page index:

    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
     <?php
    //connection au serveur:
      $cnx = mysql_connect( "localhost", "XXX", "XXXX" ) ;
     
      //sélection de la base de données:
      $db = mysql_select_db( "test" ) ;
     
      //récupération de la variable d'URL,
      //qui va nous permettre de savoir quel enregistrement modifier
     Ligne 29 $id  = $_GET["id"] ;
     
      //requête SQL:
      $sql = "SELECT *
                FROM personnes
    	    WHERE id = ".$id ;
     
      // On définit le tableau contenant les pages autorisées
      // ----------------------------------------------------
      $pageOK = array('news' => 'news.php', 
                      'accueil' => 'accueil.php',
    				  'gestion' => 'gestion.php',
    				  'modification1' => 'modification1.php',
    				  'modification2' => 'index.php?page=modification2&id=',
    				  'doc' => 'doc.php');
    Et la page modification 2 ( au cas ou j'aurais encore zaper un truc.

    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
      <?php
      //connection au serveur:
      $cnx = mysql_connect( "localhost", "XXX", "XXXX" ) ;
     
      //sélection de la base de données:
      $db = mysql_select_db( "test" ) ;
     
      //récupération de la variable d'URL,
      //qui va nous permettre de savoir quel enregistrement modifier
      $id  = $_GET["id"] ;
     
      //requête SQL:
      $sql = "SELECT *
                FROM personnes
    	    WHERE id = ".$id ;
     
      //exécution de la requête:
      $requete = mysql_query( $sql, $cnx ) ;
     
      //affichage des données:
      if( $result = mysql_fetch_object( $requete ) );
      {
      ?><form name="insertion" action="modification3.php" method="POST">
      <input type="hidden" name="id" value="<?php echo($id) ;?>">
      <table border="0" align="center" cellspacing="2" cellpadding="2">
        <tr align="center">
          <td>nom</td>
          <td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
        </tr>
        <tr align="center">
          <td>prenom</td>
          <td><input type="text" name="prenom" value="<?php echo($result->prenom) ;?>"></td>
        </tr>
        <tr align="center">
          <td>adresse</td>
          <td><input type="text" name="adresse" value="<?php echo($result->adresse) ;?>"></td>
        </tr>
        <tr align="center">
          <td>code postal</td>
          <td><input type="text" name="codePostal" value="<?php echo($result->cp) ;?>"></td>
        </tr>
        <tr align="center">
          <td>numéro de téléphone</td>
          <td><input type="text" name="telephone" value="<?php echo($result->telephone) ;?>"></td>
        </tr>
        <tr align="center">
          <td colspan="2"><input type="submit" value="modifier"></td>
        </tr>
      </table>
    </form>
      <?php
      }//fin if 
      ?>
    Je pensse que mon probléme vien du fait que je ne sais pas comment renvoiller ma varible id dans mon lien sur mon tableaux, mais j'en suis pas certain je découvre le php.

    Encore merci.

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Je pensse que mon probléme vien du fait que je ne sais pas comment renvoiller ma varible id dans mon lien sur mon tableaux, mais j'en suis pas certain je découvre le php.
    C'est bien là justement le problème, $_GET['id'] ne contient rien, il est même inexistant, d'où l'erreur.

    Si on regarde les noms de tes différentes page, il y a rien concernant une identification, une page genre login.php ?

    Avant de proposer à une personne de changer du contenu, faut d'abord qu'elle s'identifie normalement, du moins que cet id soit connu.

    En admettant que cette personne soit déjà identifiée, alors il faut que la page précédente transmettre cette info, le id, dans un lien, formulaire, etc ...


    Jette un oeil sur ce topic, le problème a l'air proche : http://www.developpez.net/forums/d86...e/#post4936308

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    Je n'ai pas de page login, je veux en fait juste modifier un menbre depuis un tableaux que je remplie par ma base de donnée.

    Je vais tenter d'étre un peux plus clair,

    J'ai une pages principalle en pseudo fraime ( avec entéte, menue, pied de page et contenue central, qui est mes différente pages en php ), j'ai créé un formulaire pour ajouter modifier et suprimer des menbres de mon équipe.

    Mon souci est que j'affiche bien ma page modification 2 mais pas en pseudo-frame
    voila le tableaux ou je définie mes pages autoriser en bloc central
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // On définit le tableau contenant les pages autorisées
      // ----------------------------------------------------
      $pageOK = array('news' => 'news.php', 
                      'accueil' => 'accueil.php',
    				  'gestion' => 'gestion.php',
    				  'modification1' => 'modification1.php',
    				  'modification2' => 'modification2.php?id=".$result->id."',
    				  'doc' => 'doc.php');
    ensuite ma pages modification 1 ou je remplis ma variables id

    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
    //connection au serveur:
        $cnx = mysql_connect( "localhost", "", "" ) ;
     
        //sélection de la base de données:
        $db = mysql_select_db( "test" ) ;
     
        //requête SQL:
        $sql = "SELECT *
    	      FROM personnes
    	      ORDER BY nom" ;
     
        //exécution de la requête:
        $requete = mysql_query( $sql, $cnx ) ;
     
        //affichage des données:
        while( $result = mysql_fetch_object( $requete ) )
        {
           echo("<div align=\"center\">".$result->nom." ".$result->prenom." <a href=\"index.php?page=modification2.php?id=".$result->id."\">modifier</a><br>\n") ;
        }
      ?>
    et la page que je voudrait afficher au centre de mon site
    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
    html>
      <head>
        <title>modification de données en PHP :: partie2</title>
      </head>
    <body>
      <?php
      //connection au serveur:
      $cnx = mysql_connect( "localhost", "", "" ) ;
     
      //sélection de la base de données:
      $db = mysql_select_db( "test" ) ;
     
      //récupération de la variable d'URL,
      //qui va nous permettre de savoir quel enregistrement modifier
      $id  = $_GET["id"] ;
     
      //requête SQL:
      $sql = "SELECT *
                FROM personnes
    	    WHERE id = ".$id ;
     
      //exécution de la requête:
      $requete = mysql_query( $sql, $cnx ) ;
     
      //affichage des données:
      if( $result = mysql_fetch_object( $requete ) )
      {
      ?><form name="insertion" action="modification3.php" method="POST">
      <input type="hidden" name="id" value="<?php echo($id) ;?>">
      <table border="0" align="center" cellspacing="2" cellpadding="2">
        <tr align="center">
          <td>nom</td>
          <td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
        </tr>
        <tr align="center">
          <td>prenom</td>
          <td><input type="text" name="prenom" value="<?php echo($result->prenom) ;?>"></td>
        </tr>
        <tr align="center">
          <td>adresse</td>
          <td><input type="text" name="adresse" value="<?php echo($result->adresse) ;?>"></td>
        </tr>
        <tr align="center">
          <td>code postal</td>
          <td><input type="text" name="codePostal" value="<?php echo($result->cp) ;?>"></td>
        </tr>
        <tr align="center">
          <td>numéro de téléphone</td>
          <td><input type="text" name="telephone" value="<?php echo($result->telephone) ;?>"></td>
        </tr>
        <tr align="center">
          <td colspan="2"><input type="submit" value="modifier"></td>
        </tr>
      </table>
    </form>
      <?php
      }//fin if 
      ?>
    </body>
    </html>
    Voila ou j'en suis, je bloque la dessus depuis samedi matin .

    Merci encore pour votre aide

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Si je reprends rapidement le déroulement, pour obtenir la fiche détaillé d'une personne, il y a 3 étapes :

    1/ (insertion1)
    On a un formulaire de création (nom, prénom, etc ...) vierge. On le remplie.

    2/ (insertion2)
    On récupère les données précédemment envoyées. Insertion dans la BDD.
    On récupère toutes le personnes dans la BDD.
    On affiche (uniquement) les personnes sous forme de lien. Les liens comportent comme paramètre l'ID des personnes. (ceci fait office de login)
    On click sur l'un des liens.

    3/ (modification1)
    On récupère l'ID précédemment envoyée (lien).
    On récupère les données de la personne selon l'ID.
    On affiche la fiche complète de la personne dans un formulaire.


    Si ces 3 étapes sont respectées, tu devrais donc en 3 récupérer l'ID.
    Si ce n'est pas le cas, alors il y a peut être erreur sur la liste des liens, les IDs n'y sont pas ou erronés en paramètre.
    Lorsque tu survole un des liens (étape 2), tu devrais voir l'url dans ta barre des tache. Ne vois tu pas une erreur ?
    Ou alors à l'étape 3, donc lors d'un click sur un des liens, fais un copier/collé ici de l'url de ta barre d'adresse (http://......).


    Question comme ça : Tu ne ne serais pas en train de fusionner 2 parties par hasard ? (insertion2 - modification1)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    Merci RunCodePhp de te pencher sur mon probléme.

    C'est bien ca le déroulement, insertion 1 qui envoit sur insertion2, puis enssuite modification 1 qui affiche la liste la liste des personnes et qui renvois vers une autre pages avec une URL de la forme http://localhost/modification2.php?id=23, pour avoir le formulaire permetant de modifier les donné entrée.

    Ce que je voudrai moi c'est afficher cette page http://localhost/modification2.php?id=23 ( ou id est une varriable si je dit pas de bétise ), dans la page centrale de mon site donc avec une adresse de la forme http://localhost/index.php?page=modification2.php?id=XX.

    J'ai un peux regarder sur le net, et ce que je veux faire c'est transmétre une variable par un URL qui ce trouve dans un tableaux de page autoriser placer dans le code de page index.

  8. #8
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par korrigan081 Voir le message
    Ce que je voudrai moi c'est afficher cette page http://localhost/modification2.php?id=23 ( ou id est une varriable si je dit pas de bétise ), dans la page centrale de mon site donc avec une adresse de la forme http://localhost/index.php?page=modification2.php?id=XX.
    J'avais zappé cet aspect là.

    Dans tes formulaires/liens, tu n'as pas conservé le nom de la page qu'il faut, alors que de ton coté tout transit par index.php, il faut donc remplacer ça par index.php.
    Cependant, l'adresse que tu indique ci-dessus est normalement fausse, faut une adresse comme : http://localhost/index.php?page=modification2&id=XX
    - Le nom de la page doit être modification2 et non modification2.php
    - Après le index.php, on met un ? (point interrogation), et s'il y a d'autres paramètres, ce sont des & (et)
    Exemple : page.php?param1=bidule&param2=chouette&param3=truc ... etc ...


    Dans l'étape 1, soit le formulaire d'inscription, le nom de la page est index.php et en paramètre (page) faut indiquer la page ou elle va :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="index.php?page=insertion2" method="POST">
    A l'étape 2, la liste des liens, c'est pareil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?page=modification1&id=XX">bla bla bla</a>
    La dernière étape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="index.php?page=modification2" method="POST">

    En espérant avoir pigé le chmilblick

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

Discussions similaires

  1. problème avec la fermeture d'une frame
    Par kaninama dans le forum AWT/Swing
    Réponses: 15
    Dernier message: 19/03/2007, 17h46
  2. [Conception] Site multilingue : problème avec les liens
    Par dinbougre dans le forum Langage
    Réponses: 10
    Dernier message: 02/02/2007, 12h59
  3. Problème avec un lien
    Par gloglo dans le forum Struts 1
    Réponses: 3
    Dernier message: 20/09/2006, 16h30
  4. [CSS]problème avec les liens
    Par Petogaz dans le forum Mise en page CSS
    Réponses: 16
    Dernier message: 21/04/2006, 20h46

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