Problème $_GET + BDD - Page 2

Résolu
  1. J'ai testé les deux dans le doute et ça ne change absolument rien l'erreur revient dans les deux cas. J'y compred quedale. Merci.
    1. Je reprend donc
      ===================
      INDEX.PHP
      ===================
      <?php
      
      if ($_GET['page'] == "news") {include("http://www.rpg-z.com/get_test/news.php");}
      if ($_GET['page'] == "articles") 
      {
           if(isset($_GET['id']))
           {
                include('http://www.rpg-z.com/get_test/articles/main.php?id=' . $_GET['id'] );
           }
           else { include("http://www.rpg-z.com/get_test/articles/main.php"); } 
      
      
      }
      
      
      
      if ($_GET['page'] == "forums") {include("http://www.rpg-z.com/get_test/forums.php");}
      if ($_GET['page'] == "medias") {include("http://www.rpg-z.com/get_test/medias.php");}
      ?> 
      
      
      

      =============
      articles/main.php
      =============*
      <?php
      
      include('ici ladresse absolue de la page de connexion');
      if(isset($_GET['id']){ //si la variable id existe 
      $id = $_GET['id']; // je cree une variable qui sapel id qui a pour valeur l'id en parametre dans l'URL
      
      
      $requete_selection = mysql_query('SELECT * FROM articles WHERE id="$id"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      
      $donnees = mysql_fetch_array($requete_selection);
      echo $donnees['contenu'];
      echo $donnees['auteur'] . '<br />';
      mysql_close();
      }
      else {
      
      include('ici aussi ladresse absolue de la page de connexion a la base');
      
      $requete_selection = mysql_query('SELECT * FROM articles') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      while ($donnees = mysql_fetch_array($requete_selection)){
      
      echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';
      echo $donnees['titre'] . '</a>' . ' ' . 'écrit par ';
      echo $donnees['auteur'] . '<br />';
      }
      mysql_close();
      }
      ?> 
      
      
      1. si le probleme persiste copie/colle ton code de main.php ici et index.php
        1. Alors la c'est pire en mettant les url absolue même les autres liens déconnent pourtant ils sont bon.

          http://www.rpg-z.com/get_test/index.php?page=news

          code index.php :
          <div>
          MON MENU :
          <a href="index.php?page=news">News</a>
          <a href="index.php?page=articles">Articles</a>
          <a href="index.php?page=forums">Forums</a>
          <a href="index.php?page=medias">Medias</a><br /><br /><br />
          <div>

          <div>
          CONTENUE DES PAGES DU MENU :<br />
          <?php
          if ($_GET['page'] == "news") {include("http://www.rpg-z.com/get_test/news.php");}
          if ($_GET['page'] == "articles")
          {
          if(isset($_GET['id']))
          {
          include('http://www.rpg-z.com/get_test/articles/main.php?id=' . $_GET['id'] );
          }
          else { include("http://www.rpg-z.com/get_test/articles/main.php"); }
          }
          if ($_GET['page'] == "forums") {include("http://www.rpg-z.com/get_test/forums.php");}
          if ($_GET['page'] == "medias") {include("http://www.rpg-z.com/get_test/medias.php");}
          ?>
          </div>

          code articles/main.php :
          <?php

          include('http://www.rpg-z.com/get_test/connection.php');
          if(isset($_GET['id']){ //si la variable id existe
          $id = $_GET['id']; // je cree une variable qui sapel id qui a pour valeur l'id en parametre dans l'URL

          $requete_selection = mysql_query('SELECT * FROM articles WHERE id="$id"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

          $donnees = mysql_fetch_array($requete_selection);
          echo $donnees['contenu'];
          echo $donnees['auteur'] . '<br />';
          mysql_close();
          }
          else {

          include('http://www.rpg-z.com/get_test/connection.php');

          $requete_selection = mysql_query('SELECT * FROM articles') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
          while ($donnees = mysql_fetch_array($requete_selection)){

          echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';
          echo $donnees['titre'] . '</a>' . ' ' . 'écrit par ';
          echo $donnees['auteur'] . '<br />';
          }
          mysql_close();
          }
          ?>

          Merci encore.
          1. Apareamment c'est mauvais avec l'include des url absolues... une minute je redige un nouveau code
            1. ===================
              INDEX.PHP
              ===================
              <?php
              
              if ($_GET['page'] == "news") {include("news.php");}
              if ($_GET['page'] == "articles") 
              {
                   if(isset($_GET['id']))
                   {
              
                        include("/get_test/articles/main.php?id=$_GET['id']" );
                   }
                   else { include("/get_test/articles/main.php"); } 
              
              
              }
              
              
              
              if ($_GET['page'] == "forums") {include("forums.php");}
              if ($_GET['page'] == "medias") {include("medias.php");}
              ?> 
              
              


              =============
              articles/main.php
              =============*

              <?php
              
              include('connection.php');
              if(isset($_GET['id']){ //si la variable id existe 
              $id = $_GET['id']; 
              
              
              $requete_selection = mysql_query('SELECT * FROM articles WHERE id="$id"') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
              
              $donnees = mysql_fetch_array($requete_selection);
              echo $donnees['contenu'];
              echo $donnees['auteur'] . '<br />';
              mysql_close();
              }
              else {
              
              include('connection.php');
              
              $requete_selection = mysql_query('SELECT * FROM articles') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
              while ($donnees = mysql_fetch_array($requete_selection)){
              
              echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';
              echo $donnees['titre'] . '</a>' . ' ' . 'écrit par ';
              echo $donnees['auteur'] . '<br />';
              }
              mysql_close();
              }
              ?> 
              


              desespere pas, jespere que sa marchera
              1. J'ai une parse error à la ligne 19 :

                include("/get_test/articles/main.php?id=$_GET['id']" );

                j'ai tenté de la remplaçer par

                include("/get_test/articles/main.php?id='$_GET['id']'" );

                mais l'erreur reste

                Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www/8b02f9045067109a0cbb419d432d633f/web/get_test/index.php on line 19

                Merci, je cherche de mon côtés aussi.
                1. ok ça commence a aller (enfin je crois bien ;) )
                  bon

                  essais
                  include('/get_test/articles/main.php?id=' . $_GET[\'id\'] );

                  si sa marche pas, essais sa aussi ::

                  $adresse = '/get_test/articles/main.php?id=' . $_GET['id'];
                  include($adresse);


                  ou encore

                  $adresse = '/get_test/articles/main.php?id=' . $_GET[\'id\']; 
                  include($adresse);


                  Pour ce dernier je crois pas trop, mais on sait jaimais
              2. Donc, effectivement il y a du mieux avec la deuxième méthode :
                $adresse = '/get_test/articles/main.php?id=' . $_GET['id'];
                include($adresse);

                Les erreurs de la page index.php disparaissent en partie vu qu'il m'en reste 2 lorsque je clique sur articles :

                Warning: include(/get_test/articles/main.php) [function.include]: failed to open stream: No such file or directory in /home/www/8b02f9045067109a0cbb419d432d633f/web/get_test/index.php on line 22

                Warning: include() [function.include]: Failed opening '/get_test/articles/main.php' for inclusion (include_path='.:/opt/php/lib/php') in /home/www/8b02f9045067109a0cbb419d432d633f/web/get_test/index.php on line 22

                Donc ligne 22 evidement toujours une url qui pose problème :

                echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';

                Merci beaucoup ;)
                1. essais dappliker la deuxieme methode avec ce probleme, je vais faire des courses. A ce soir et bon courage
                  1. Alors, après quelques tests c'est le contenue du else qui affiche l'erreur donc ceci :

                    else {
                    $adresse2 = '/get_test/articles/main.php';
                    include($adresse2);

                    }

                    Si je l'enlève l'erreur n'apparait pas donc j'en viens à la conclusion que la condition du if ne se vérifie pas vu que c'est le else qui s'exécute. C'est quand même bizarre tout ça.
                    Merci de ton aide, a ce soir ;)
                    1. <?php
                      /*===================
                      INDEX.PHP
                      ===================*/
                      
                      //A placer dans ta page index.php
                      
                      if (isset($_GET['page'])) {
                      	switch($_GET['page']) {
                      		case "news": include("news.php");break;
                      		case "articles": include("articles/main.php");break;
                      		case "forums": include("forums.php");break;
                      		case "medias": include("medias.php");break;
                      	}
                      else {
                      	include("news.php");
                      }
                      ?>
                      
                      
                      
                      <?php
                      /*=============
                      articles/main.php
                      =============*/
                      
                      //A placer dans ton main.php du répertoire articles
                      
                      include('connection.php'); //On se connecte à la base
                      if(isset($_GET['id']){ //si la variable id existe 
                      	$requete_selection = mysql_query('SELECT * 
                      					                  FROM articles 
                      							  WHERE id='.$_GET['id']) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                      
                      	$donnees = mysql_fetch_array($requete_selection);
                      	echo $donnees['contenu'];
                      	echo $donnees['auteur'] . '<br />';
                      	
                      }
                      else {
                      	$requete_selection = mysql_query('SELECT * 
                      							  FROM articles') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                      	while ($donnees = mysql_fetch_array($requete_selection)){
                      
                      		echo '<a href="index.php?page=articles&id='.$donnees["id"].' ">';
                      		echo $donnees['titre'] . '</a>' . ' ' . 'écrit par ';
                      		echo $donnees['auteur'] . '<br />';
                      	}
                      }
                      mysql_close(); //On se déconnecte
                      ?> 


                      Donc je resume. Lorsque tu arrives sur ton site par défaut lorsque tu vas cliquer sur le lien articles, tous les articles s'afficheront car ta variable "$_GET['id']" n'existe pas.
                      Dès lors que tu vas cliquer sur un article pour l'afficher, tu vas instancier la variable "$_GET['id']" qui cette fois-ci n'affichera plus la liste des articles mais uniquement l'article voulu.

                      J'ai bien compris ta démarche ?
                  2. ²Ben écoute, nikel ça marche trés bien mis à part deux petites erreur de syntaxes, tu as tout à fait saisi le problème et maintenant c'est parfait, ce que je voulais.

                    Merci beaucoup ;)
                    1. Les erreurs je sais pas car j'ai repris le code de stephane_mc2004.
                      J'ai juste modifié les endroits les plus importants pour faire fonctionner ton script.

                      Applique un petit résolu à cette discussion :)

                      Allez ciao
                      1. Coucou a tous. Merci pour ton amélioration, comme quoi, il fallait 2 conducteurs pour la même voiture (lol )

                        A+
                    2. ouffffffffffffffff qui ca met que

                      <div>
                      MON MENU :
                      <a href="index.php?page=news">News</a>
                      <a href="index.php?page=articles">Articles</a>
                      <a href="index.php?page=forums">Forums</a>
                      <a href="index.php?page=medias">Medias</a><br /><br /><br />
                      <div>

                      c'est fini mini menu
                      1. En tout cas merci à tous les deux vous m'avez grandement aidé ;)
                        Précédent
                        • 1
                        • 2